Intel® ISA Extensions
Use hardware-based isolation and memory encryption to provide more code protection in your solutions.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

What is _MM_SHUFFLE macro meaning in the context of AVX

Hien_P_
Beginner
538 Views

Hi guys,

I really do not understand yet the _MM_SHUFFLE macro meaning in the context of AVX _mm256_shuffle_ps() (For SSE, it's Ok).

Any help for this?
Thanks.

 

0 Kudos
1 Solution
bronxzv
New Contributor II
538 Views

the meaning is exactly the same with AVX and SSE

with 256-bit wide AVX shuffles, the high and low 128-bit "lanes" are processed independently (i.e, you can't shuffle high bits with low bits), as with most VEX.256 instructions

depending on your use cases, AVX2 _mm256_permutevar8x32_ps() is maybe a better fit since it can be used to shuffle across the whole 256-bit

View solution in original post

2 Replies
bronxzv
New Contributor II
539 Views

the meaning is exactly the same with AVX and SSE

with 256-bit wide AVX shuffles, the high and low 128-bit "lanes" are processed independently (i.e, you can't shuffle high bits with low bits), as with most VEX.256 instructions

depending on your use cases, AVX2 _mm256_permutevar8x32_ps() is maybe a better fit since it can be used to shuffle across the whole 256-bit

View solution in original post

Hien_P_
Beginner
538 Views

Thanks a lot, Bronxzv.
Now I understand clearly this issue.

Cheers ;)

Reply