1 /* { dg-do compile { target { ! ia32 } } } */
2 /* { dg-options "-O2 -mf16c -mavx512vl -masm=att" } */
9 register __m128 a
__asm ("xmm16");
10 register __m128i b
__asm ("xmm17");
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" } } */
22 register __m256 a
__asm ("xmm16");
23 register __m128i b
__asm ("xmm17");
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" } } */
33 f3 (__m256 x
, __v8hi
*y
)
35 register __m256 a
__asm ("xmm16");
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" } } */