1  /* { dg-do compile } */
       2  /* { dg-options "-O -mavx512vl -mavx512dq -fno-tree-forwprop" } */
       3  
       4  typedef double v2df __attribute__ ((__vector_size__ (16)));
       5  typedef double v4df __attribute__ ((__vector_size__ (32)));
       6  
       7  v2df h (v4df x)
       8  {
       9    v2df xx = { x[2], x[3] };
      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  /* { dg-final { scan-assembler-not "unpck" } } */
      20  /* { dg-final { scan-assembler-not "valign" } } */
      21  /* { dg-final { scan-assembler-times "\tv?extract(?:f128|f64x2)\[ \t\]" 1 } } */