1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3
4 typedef double __attribute__((vector_size(16))) vec;
5
6 void
7 store_adjusted(vec *out, vec x, vec y)
8 {
9 out[100] = x;
10 out[101] = y;
11 out[102] = y;
12 out[103] = x;
13 }
14
15 /* { dg-final { scan-assembler {add\tx[0-9]+, x[0-9]+, 1600} } } */
16 /* { dg-final { scan-assembler {stp\tq[0-9]+, q[0-9]+, \[x[0-9]+\]} } } */
17 /* { dg-final { scan-assembler {stp\tq[0-9]+, q[0-9]+, \[x[0-9]+, 32\]} } } */
18 /* { dg-final { scan-assembler-not "str\t" } } */