(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr88828-5b.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -mavx" } */
       3  /* { dg-final { scan-assembler-times "vpermilps" 1 } } */
       4  /* { dg-final { scan-assembler-times "vinsertps" 1 } } */
       5  /* { dg-final { scan-assembler-not "vshufps" } } */
       6  /* { dg-final { scan-assembler-not "vmovss" } } */
       7  /* { dg-final { scan-assembler-not "vmovaps" } } */
       8  /* { dg-final { scan-assembler-not "vmovlhps" } } */
       9  /* { dg-final { scan-assembler-not "vunpcklps" } } */
      10  
      11  typedef float __v4sf __attribute__ ((__vector_size__ (16)));
      12  
      13  __attribute__((noinline, noclone))
      14  __v4sf
      15  foo (__v4sf x, float f)
      16  {
      17    __v4sf y = { x[0], x[2], x[3], x[0] };
      18    y[3] = f;
      19    return y;
      20  }