/* { dg-do compile } */ /* { dg-options "-O2" } */ typedef float __attribute__((vector_size(8))) vec; void store_adjusted(vec *out, vec x, vec y) { out[400] = x; out[401] = y; out[402] = y; out[403] = x; } /* { dg-final { scan-assembler {add\tx[0-9]+, x[0-9]+, 3200} } } */ /* { dg-final { scan-assembler {stp\td[0-9]+, d[0-9]+, \[x[0-9]+\]} } } */ /* { dg-final { scan-assembler {stp\td[0-9]+, d[0-9]+, \[x[0-9]+, 16\]} } } */ /* { dg-final { scan-assembler-not "str\t" } } */