(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr53346-3.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-msse2 -O2 -mno-sse3" } */
       3  /* { dg-final { scan-assembler-times "shufps" 17 } } */
       4  
       5  typedef float v4sf __attribute__((vector_size(16)));
       6  
       7  v4sf
       8  __attribute__((noipa))
       9  foo (v4sf a, v4sf b)
      10  {
      11    return __builtin_shufflevector (a, b, 1, 2, 5, 3);
      12  }
      13  
      14  v4sf
      15  __attribute__((noipa))
      16  foo1 (v4sf a, v4sf b)
      17  {
      18    return __builtin_shufflevector (a, b, 1, 5, 2, 3);
      19  }
      20  
      21  v4sf
      22  __attribute__((noipa))
      23  foo2 (v4sf a, v4sf b)
      24  {
      25    return __builtin_shufflevector (a, b, 1, 2, 3, 5);
      26  }
      27  
      28  v4sf
      29  __attribute__((noipa))
      30  foo3 (v4sf a, v4sf b)
      31  {
      32    return __builtin_shufflevector (a, b, 1, 4, 5, 6);
      33  }
      34  
      35  v4sf
      36  __attribute__((noipa))
      37  foo4 (v4sf a, v4sf b)
      38  {
      39    return __builtin_shufflevector (a, b, 3, 6, 7, 5);
      40  }
      41  
      42  v4sf
      43  __attribute__((noipa))
      44  foo5 (v4sf a, v4sf b)
      45  {
      46    return __builtin_shufflevector (a, b, 2, 4, 7, 6);
      47  }
      48  
      49  v4sf
      50  __attribute__((noipa))
      51  foo6 (v4sf a, v4sf b)
      52  {
      53    return __builtin_shufflevector (a, b, 2, 4, 3, 6);
      54  }
      55  
      56  v4sf
      57  __attribute__((noipa))
      58  foo7 (v4sf a, v4sf b)
      59  {
      60    return __builtin_shufflevector (a, b, 2, 3, 4, 6);
      61  }
      62  
      63  v4sf
      64  __attribute__((noipa))
      65  foo8 (v4sf a, v4sf b)
      66  {
      67    return __builtin_shufflevector (a, b, 2, 4, 6, 3);
      68  }
      69