1  /* { dg-do assemble } */
       2  /* { dg-options "-O2 -save-temps" } */
       3  
       4  typedef int __v2si __attribute__((__vector_size__(8)));
       5  
       6  int
       7  foo (__v2si arg)
       8  {
       9    return arg[0] + arg[1];
      10  }
      11  
      12  __v2si
      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, " } } */