>>...a) store a __m128d value into one of the two halves of a __m256d value (not cast it!)

Do you want to broadcast source values of __m128d variable into a __m256d variable?

If Yes, the following intrinsic function needs to be used:

...

/*

* Load with Broadcast

* **** VBROADCASTF128 ymm1, m128

* Load floating point values from the source operand and broadcast to all

* elements of the destination

*/

...

extern __m256d __ICL_INTRINCC **_mm256_broadcast_pd**(__m128d const *);

...

If No, explain how exactly you want to store values. Thanks in advance.

## Moving/merging __m128d values to __m256d ones

Hi,

I have some code where at some point, after doing SSE3 computations with __m128d-typed values, I need to:

a) store a __m128d value into one of the two halves of a __m256d value (not cast it!)

b) paste two __m128d values side-by-side into a __m256d value

Are there any AVX intrinsics to perform these operations?

Thanks in advance,

Nick