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