/* { dg-do assemble } */ /* { dg-options "-O2 -save-temps" } */ typedef int __v2si __attribute__((__vector_size__(8))); int foo (__v2si arg) { return arg[0] + arg[1]; } __v2si foo2 (unsigned int a, unsigned int b) { __v2si res; res[0] = a; res[1] = b; return res; } /* { dg-final { scan-assembler "mov.u32.*\\.x;" } } */ /* { dg-final { scan-assembler "mov.u32.*\\.y;" } } * /* { dg-final { scan-assembler "mov.u32\[\t\]%r\[0-9\]\[0-9\]*\\.x, " } } */ /* { dg-final { scan-assembler "mov.u32\[\t\]%r\[0-9\]\[0-9\]*\\.y, " } } */