Quantcast
Channel: Intel® Software - Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 2797

AVX2 permute intrinsics and copying a source-vector element to multiple destination-vector elements

$
0
0

In the User and Reference Guide for the Intel C++ Compiler 15.0, the descriptions of the AVX2 intrinsics _mm256_permutevar8x32_epi32 and _mm256_permutevar8x32_ps state:

The intrinsic does NOT allow to copy the same element of the source vector to more than one element of the destination vector.

However, in the Intel 64 and IA-32 Architectures Software Developer's Manual, the descriptions of the corresponding AVX2 instructions (VPERMD and VPERMPS) state:

Note that this instruction permits a doubleword in the source operand to be copied to more than one doubleword location in the destination operand.

The cursory testing I did of _mm256_permutevar8x32_epi32 and _mm256_permutevar8x32_ps seemed to indicate that they do support copying the same element of the source vector to more than one element of the destination vector.

Could someone from Intel either confirm or refute my suspicions that the User and Reference Guide for the Intel C++ Compiler 15.0 is incorrect in this case? Thanks!


Viewing all articles
Browse latest Browse all 2797


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>