1 /* { dg-do assemble } */
2 /* { dg-options "-O2 -save-temps" } */
3 
4 typedef int __v2si __attribute__((__vector_size__(8)));
5 
6 int
foo(__v2si arg)7 foo (__v2si arg)
8 {
9   return arg[0] + arg[1];
10 }
11 
12 __v2si
foo2(unsigned int a,unsigned int b)13 foo2 (unsigned int a, unsigned int b)
14 {
15   __v2si res;
16   res[0] = a;
17   res[1] = b;
18   return res;
19 }
20 
21 /* { dg-final { scan-assembler "mov.u32.*\\.x;" } } */
22 /* { dg-final { scan-assembler "mov.u32.*\\.y;" } } *
23 
24 /* { dg-final { scan-assembler "mov.u32\[\t\]%r\[0-9\]\[0-9\]*\\.x, " } } */
25 /* { dg-final { scan-assembler "mov.u32\[\t\]%r\[0-9\]\[0-9\]*\\.y, " } } */
26