1 /* { dg-do compile { target { ! ia32 } } } */
2 /* { dg-options "-O2 -mavx512vl" } */
7 f1 (__m128 a
, __m128 b
)
9 register __m128 c
__asm ("xmm16") = a
;
10 asm volatile ("" : "+v" (c
));
11 c
= _mm_insert_ps (c
, b
, 1);
12 asm volatile ("" : "+v" (c
));
16 /* { dg-final { scan-assembler "vinsertps\[^\n\r\]*xmm16" } } */
19 f2 (__v4sf a
, float b
)
21 register __v4sf c
__asm ("xmm17") = a
;
22 asm volatile ("" : "+v" (c
));
24 asm volatile ("" : "+v" (c
));
28 /* { dg-final { scan-assembler "vinsertps\[^\n\r\]*xmm17" } } */
31 f3 (__v4sf a
, float b
)
33 register float c
__asm ("xmm18") = b
;
34 asm volatile ("" : "+v" (c
));
39 /* { dg-final { scan-assembler "vinsertps\[^\n\r\]*xmm18" } } */