Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7956 Discussions

Error in the documentation for _mm256_permutevar8x32_epi32 and _mm256_permutevar8x32_ps (AVX2 intrinsics)

bronxzv
New Contributor II
349 Views

According to the latest Intel® Architecture Instruction Set Extensions Programming Reference VPERMD and VPERMPS : "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 SDE behavior is in conformance with these specifications, i.e. VPERMD and VPERMPS allow to copy one source element to several destination elements.

But as can be seen here: http://software.intel.com/sites/products/documentation/hpc/composerxe/en-us/2011Update/cpp/lin/intref_cls/common/intref_avx2_permutevar8x32_epi32.htm the C++ documentation says that "The intrinsic does NOT allow to copy the same element of the source vector to more than one element of the destination vector.".

This is particularly confusing with the all caps "NOT", I have remarked that the error is still in the documentation for XE 2013 released a few days ago.

 

0 Kudos
0 Replies
Reply