(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
vect-rebuild.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O -mavx -fno-tree-forwprop" } */
       3  
       4  typedef double v2df __attribute__ ((__vector_size__ (16)));
       5  typedef double v4df __attribute__ ((__vector_size__ (32)));
       6  
       7  v2df f1 (v2df x)
       8  {
       9    v2df xx = { x[0], x[1] };
      10    return xx;
      11  }
      12  
      13  v4df f2 (v4df x)
      14  {
      15    v4df xx = { x[0], x[1], x[2], x[3] };
      16    return xx;
      17  }
      18  
      19  v2df g (v2df x)
      20  {
      21    v2df xx = { x[1], x[0] };
      22    return xx;
      23  }
      24  
      25  v2df h (v4df x)
      26  {
      27    v2df xx = { x[2], x[3] };
      28    return xx;
      29  }
      30  
      31  /* { dg-final { scan-assembler-not "unpck" } } */
      32  /* { dg-final { scan-assembler-times "\tv?permilpd\[ \t\]" 1 } } */
      33  /* { dg-final { scan-assembler-times "\tv?extract(?:f128|f64x2)\[ \t\]" 1 } } */