1 /* PR middle-end/85090 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -mavx512f -mno-avx512bw -mtune=intel -masm=att" } */
4 
5 typedef short V __attribute__((vector_size (64)));
6 
7 V
f1(V x,int y)8 f1 (V x, int y)
9 {
10   x[0] = y;
11   return x;
12 }
13 
14 V
f2(V x,int y)15 f2 (V x, int y)
16 {
17   x[7] = y;
18   return x;
19 }
20 
21 V
f3(V x,int y)22 f3 (V x, int y)
23 {
24   x[11] = y;
25   return x;
26 }
27 
28 V
f4(V x,int y)29 f4 (V x, int y)
30 {
31   x[29] = y;
32   return x;
33 }
34 
35 /* { dg-final { scan-assembler-times "vpinsrw\t" 4 } } */
36 /* { dg-final { scan-assembler-times "vextracti32x4\t" 2 } } */
37 /* { dg-final { scan-assembler-times "vinserti32x4\t" 4 } } */
38