1  /* PR tree-optimization/109583 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O1 -Wno-psabi" } */
       4  /* { dg-additional-options "-mno-avx" { target i?86-*-* x86_64-*-* } } */
       5  
       6  typedef float v8sf __attribute__((vector_size (8 * sizeof (float))));
       7  typedef int v8si __attribute__((vector_size (8 * sizeof (int))));
       8  
       9  #if __SIZEOF_INT__ == __SIZEOF_FLOAT__
      10  v8sf
      11  foo (v8sf x, v8sf y)
      12  {
      13    v8sf a = x - y;
      14    v8sf b = x + y;
      15    return __builtin_shuffle (a, b, (v8si) { 0, 9, 2, 11, 4, 13, 6, 15 });
      16  }
      17  
      18  v8sf
      19  bar (v8sf x, v8sf y)
      20  {
      21    v8sf a = x + y;
      22    v8sf b = x - y;
      23    return __builtin_shuffle (a, b, (v8si) { 0, 9, 2, 11, 4, 13, 6, 15 });
      24  }
      25  #endif