Вы можете сделать это с помощью нескольких экстрактов: (предупреждение: не проверено)
__m256d src = ... // data
__m128d a = _mm256_extractf128_pd(src, 0);
__m128d b = _mm256_extractf128_pd(src, 1);
_mm_storel_pd(dst + 0*dst_dist, a);
_mm_storeh_pd(dst + 1*dst_dist, a);
_mm_storel_pd(dst + 2*dst_dist, b);
_mm_storeh_pd(dst + 3*dst_dist, b);
То, что вы хотите, это инструкции по сбору / рассеянию в AVX2 ... Но это еще несколько лет спустядорога.