1 /* { dg-do compile { target { ! ia32 } } } */
2 /* { dg-options "-O2 -mavx512vl" } */
9 register __m128d a
__asm ("xmm16");
10 register __m256d b
__asm ("xmm17");
12 asm volatile ("" : "+v" (a
));
13 b
= _mm256_broadcastsd_pd (a
);
14 asm volatile ("" : "+v" (b
));
17 /* { dg-final { scan-assembler "vbroadcastsd\[^\n\r]*(xmm16\[^\n\r]*ymm17|ymm17\[^\n\r]*xmm16)" } } */
22 register __m128 a
__asm ("xmm16");
23 a
= _mm_broadcast_ss (x
);
24 asm volatile ("" : "+v" (a
));
27 /* { dg-final { scan-assembler "vbroadcastss\[^\n\r]*(\\)\[^\n\r]*xmm16|xmm16\[^\n\r]*PTR)" } } */
32 register float a
__asm ("xmm16");
33 register __m128 b
__asm ("xmm17");
35 asm volatile ("" : "+v" (a
));
37 b
= _mm_broadcast_ss (&c
);
38 asm volatile ("" : "+v" (b
));
41 /* { dg-final { scan-assembler "vbroadcastss\[^\n\r]*xmm1\[67]\[^\n\r]*xmm1\[67]" } } */