1 /* { dg-do compile { target { ! ia32 } } } */
2 /* { dg-options "-O2 -mavx512vl -mno-avx512dq -masm=att" } */
4 typedef int V
__attribute__((vector_size (8)));
9 register int a
__asm ("xmm16");
10 register int b
__asm ("xmm17");
11 register V c
__asm ("xmm3");
14 asm volatile ("" : "+v" (a
), "+v" (b
));
16 asm volatile ("" : "+v" (c
));
19 /* { dg-final { scan-assembler "vpunpckldq\[^\n\r]*%xmm17\[^\n\r]*%xmm16\[^\n\r]*%xmm3" } } */
24 register int a
__asm ("xmm16");
25 register V c
__asm ("xmm3");
27 asm volatile ("" : "+v" (a
));
29 asm volatile ("" : "+v" (c
));
35 register int a
__asm ("xmm16");
36 register V c
__asm ("xmm3");
38 asm volatile ("" : "+v" (a
));
40 asm volatile ("" : "+v" (c
));
43 /* { dg-final { scan-assembler-not "vpinsrd\[^\n\r]*\\\$1\[^\n\r]*%xmm16\[^\n\r]*%xmm3" } } */