1 /* { dg-do compile { target { ! ia32 } } } */
2 /* { dg-options "-O2 -mavx512vl" } */
3 
4 typedef int V __attribute__((vector_size (8)));
5 typedef int W __attribute__((vector_size (16)));
6 
7 void
f1(V x,V y)8 f1 (V x, V y)
9 {
10   register W c __asm ("xmm16");
11   c = (W) { x[0], x[1], x[0], x[1] };
12   asm volatile ("" : "+v" (c));
13 }
14 
15 void
f2(V x,V * y)16 f2 (V x, V *y)
17 {
18   register W c __asm ("xmm16");
19   c = (W) { x[0], x[1], (*y)[0], (*y)[1] };
20   asm volatile ("" : "+v" (c));
21 }
22 
23 /* { dg-final { scan-assembler-times "vpunpcklqdq\[^\n\r]*xmm16" 2 } } */
24