Я понимаю, как _mm_shuffle_ps
работа. Например, в следующем.Как работает _mm256_shuffle_ps?
__m128 r = _mm_shuffle_ps(x,y, _MM_SHUFFLE(2,0,2,0));
r
будет иметь содержание, x[0]
, x[2]
, y[0]
, y[2]
.
Но я вижу, что _MM_SHUFFLE
также принимает 4 параметра для _mm256_shuffle_ps
, тогда как векторы будут иметь по 8 элементов. Итак, логически _MM_SHUFFLE
должен был принять 8 параметров. Может кто-нибудь объяснить, как это работает?