1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -msse2" } */
       3  
       4  typedef char v8qi __attribute__ ((vector_size (8)));
       5  
       6  char foo()
       7  {
       8    v8qi tx = { 1, 0, 0, 0, 0, 0, 0, 0 };
       9    v8qi ty = { 2, 0, 0, 0, 0, 0, 0, 0 };
      10    v8qi t = __builtin_ia32_paddusb(tx, ty);
      11    return t[0];
      12  }
      13  
      14  char bar()
      15  {
      16    v8qi tx = { 200, 0, 0, 0, 0, 0, 0, 0 };
      17    v8qi ty = { 200, 0, 0, 0, 0, 0, 0, 0 };
      18    v8qi t = __builtin_ia32_paddusb(tx, ty);
      19    return t[0];
      20  }
      21  
      22  /* { dg-final { scan-assembler-times "movl\[ \\t\]+\\\$3," 1 } } */
      23  /* { dg-final { scan-assembler-times "movl\[ \\t\]+\\\$(?:255|-1)," 1 } } */
      24  /* { dg-final { scan-assembler-not "paddusb\[ \\t\]+%xmm\[0-9\]+" } } */
      25