Quantcast
Channel: Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1616

AVX2 _mm256_packus_epi16/32 intrinsics documentation lists incorrect signedness

$
0
0

In the User and Reference Guide for the Intel C++ Compiler 15.0, the description of the AVX2 intrinsics _mm256_packus_epi16/32  states (relevant words highlighted in bold):

The _mm256_packus_epi16 intrinsic converts 16 packed unsigned word integers from source operands a and b into 32 packed unsigned byte integers. The _mm256_packus_epi32 intrinsic converts eight packed unsigned doubleword integers from the source operands a and b into 16 packed unsigned word integers.

The signedness of the source words/doublewords in the description disagrees with the first sentence of the summary:

Pack signed word/doubleword integers to unsigned byte/word integers and saturates.

...as well as the description of the corresponding AVX2 instructions (VPACKUSWB and VPACKUSDW) in the Intel 64 and IA-32 Architectures Software Developer's Manual, which states:

Converts 4, 8 or 16 signed word integers from the destination operand (first operand) and 4, 

8 or 16 signed word integers from the source operand (second operand) into 8, 16 or 32 unsigned byte integers


Viewing all articles
Browse latest Browse all 1616

Trending Articles



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