1 /* PR target/49002 */
2 /* { dg-do compile } */
3 /* { dg-options "-O -mavx" } */
4 
5 #include <immintrin.h>
6 
foo(const __m128d * from,__m256d * to,int s)7 void foo(const __m128d *from, __m256d *to, int s)
8 {
9   __m256d var = _mm256_castpd128_pd256(from[0]);
10   var = _mm256_insertf128_pd(var, from[s], 1);
11   to[0] = var;
12 }
13 
14 /* Ensure we load into xmm, not ymm.  */
15 /* { dg-final { scan-assembler-not "vmovapd\[\t \]*\[^,\]*,\[\t \]*%ymm" } } */
16 /* { dg-final { scan-assembler "vmovap\[ds\]\[\t \]*\[^,\]*,\[\t \]*%xmm" } } */
17