Daily bump.
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / avx512vl-concatv2si-1.c
blob6ac293d74d3b4b3f3a3d9b7d2b26aa69ea0e26ee
1 /* { dg-do compile { target { ! ia32 } } } */
2 /* { dg-options "-O2 -mavx512vl -mno-avx512dq -masm=att" } */
4 typedef int V __attribute__((vector_size (8)));
6 void
7 f1 (int x, int y)
9 register int a __asm ("xmm16");
10 register int b __asm ("xmm17");
11 register V c __asm ("xmm3");
12 a = x;
13 b = y;
14 asm volatile ("" : "+v" (a), "+v" (b));
15 c = (V) { a, b };
16 asm volatile ("" : "+v" (c));
19 /* { dg-final { scan-assembler "vpunpckldq\[^\n\r]*%xmm17\[^\n\r]*%xmm16\[^\n\r]*%xmm3" } } */
21 void
22 f2 (int x, int y)
24 register int a __asm ("xmm16");
25 register V c __asm ("xmm3");
26 a = x;
27 asm volatile ("" : "+v" (a));
28 c = (V) { a, y };
29 asm volatile ("" : "+v" (c));
32 void
33 f3 (int x, int *y)
35 register int a __asm ("xmm16");
36 register V c __asm ("xmm3");
37 a = x;
38 asm volatile ("" : "+v" (a));
39 c = (V) { a, *y };
40 asm volatile ("" : "+v" (c));
43 /* { dg-final { scan-assembler-not "vpinsrd\[^\n\r]*\\\$1\[^\n\r]*%xmm16\[^\n\r]*%xmm3" } } */