* gcc.target/i386/pr70021.c: Add -mtune=skylake.
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / avx512vl-vcvtps2ph-3.c
blobc2e3f01050eef3b74b39ab861e23621560cb4cd8
1 /* { dg-do compile { target { ! ia32 } } } */
2 /* { dg-options "-O2 -mf16c -mavx512vl -masm=att" } */
4 #include <x86intrin.h>
6 void
7 f1 (__m128 x)
9 register __m128 a __asm ("xmm16");
10 register __m128i b __asm ("xmm17");
11 a = x;
12 asm volatile ("" : "+v" (a));
13 b = _mm_cvtps_ph (a, 1);
14 asm volatile ("" : "+v" (b));
17 /* { dg-final { scan-assembler "vcvtps2ph\[^\n\r]*\\\$1\[^\n\r]*%xmm16\[^\n\r]*%xmm17" } } */
19 void
20 f2 (__m256 x)
22 register __m256 a __asm ("xmm16");
23 register __m128i b __asm ("xmm17");
24 a = x;
25 asm volatile ("" : "+v" (a));
26 b = _mm256_cvtps_ph (a, 1);
27 asm volatile ("" : "+v" (b));
30 /* { dg-final { scan-assembler "vcvtps2ph\[^\n\r]*\\\$1\[^\n\r]*%ymm16\[^\n\r]*%xmm17" } } */
32 void
33 f3 (__m256 x, __v8hi *y)
35 register __m256 a __asm ("xmm16");
36 a = x;
37 asm volatile ("" : "+v" (a));
38 *y = (__v8hi) _mm256_cvtps_ph (a, 1);
41 /* { dg-final { scan-assembler "vcvtps2ph\[^\n\r]*\\\$1\[^\n\r]*%ymm16\[^\n\r]*%\[re\]di" } } */