Available on x86 or x86-64 only.
Functions§
- _cvtmask32_
u32 avx512bw
- Convert 32-bit mask a into an integer value, and store the result in dst.
- _cvtu32_
mask32 avx512bw
- Convert integer value a into an 32-bit mask, and store the result in k.
- _kadd_
mask32 avx512bw
- Add 32-bit masks in a and b, and store the result in k.
- _kadd_
mask64 avx512bw
- Add 64-bit masks in a and b, and store the result in k.
- _kand_
mask32 avx512bw
- Compute the bitwise AND of 32-bit masks a and b, and store the result in k.
- _kand_
mask64 avx512bw
- Compute the bitwise AND of 64-bit masks a and b, and store the result in k.
- _kandn_
mask32 avx512bw
- Compute the bitwise NOT of 32-bit masks a and then AND with b, and store the result in k.
- _kandn_
mask64 avx512bw
- Compute the bitwise NOT of 64-bit masks a and then AND with b, and store the result in k.
- _knot_
mask32 avx512bw
- Compute the bitwise NOT of 32-bit mask a, and store the result in k.
- _knot_
mask64 avx512bw
- Compute the bitwise NOT of 64-bit mask a, and store the result in k.
- _kor_
mask32 avx512bw
- Compute the bitwise OR of 32-bit masks a and b, and store the result in k.
- _kor_
mask64 avx512bw
- Compute the bitwise OR of 64-bit masks a and b, and store the result in k.
- _kortest_
mask32_ ⚠u8 avx512bw
- Compute the bitwise OR of 32-bit masks a and b. If the result is all zeros, store 1 in dst, otherwise store 0 in dst. If the result is all ones, store 1 in all_ones, otherwise store 0 in all_ones.
- _kortest_
mask64_ ⚠u8 avx512bw
- Compute the bitwise OR of 64-bit masks a and b. If the result is all zeros, store 1 in dst, otherwise store 0 in dst. If the result is all ones, store 1 in all_ones, otherwise store 0 in all_ones.
- _kortestc_
mask32_ u8 avx512bw
- Compute the bitwise OR of 32-bit masks a and b. If the result is all ones, store 1 in dst, otherwise store 0 in dst.
- _kortestc_
mask64_ u8 avx512bw
- Compute the bitwise OR of 64-bit masks a and b. If the result is all ones, store 1 in dst, otherwise store 0 in dst.
- _kortestz_
mask32_ u8 avx512bw
- Compute the bitwise OR of 32-bit masks a and b. If the result is all zeros, store 1 in dst, otherwise store 0 in dst.
- _kortestz_
mask64_ u8 avx512bw
- Compute the bitwise OR of 64-bit masks a and b. If the result is all zeros, store 1 in dst, otherwise store 0 in dst.
- _kshiftli_
mask32 avx512bw
- Shift the bits of 32-bit mask a left by count while shifting in zeros, and store the least significant 32 bits of the result in k.
- _kshiftli_
mask64 avx512bw
- Shift the bits of 64-bit mask a left by count while shifting in zeros, and store the least significant 32 bits of the result in k.
- _kshiftri_
mask32 avx512bw
- Shift the bits of 32-bit mask a right by count while shifting in zeros, and store the least significant 32 bits of the result in k.
- _kshiftri_
mask64 avx512bw
- Shift the bits of 64-bit mask a right by count while shifting in zeros, and store the least significant 32 bits of the result in k.
- _ktest_
mask32_ ⚠u8 avx512bw
- Compute the bitwise AND of 32-bit masks a and b, and if the result is all zeros, store 1 in dst, otherwise store 0 in dst. Compute the bitwise NOT of a and then AND with b, if the result is all zeros, store 1 in and_not, otherwise store 0 in and_not.
- _ktest_
mask64_ ⚠u8 avx512bw
- Compute the bitwise AND of 64-bit masks a and b, and if the result is all zeros, store 1 in dst, otherwise store 0 in dst. Compute the bitwise NOT of a and then AND with b, if the result is all zeros, store 1 in and_not, otherwise store 0 in and_not.
- _ktestc_
mask32_ u8 avx512bw
- Compute the bitwise NOT of 32-bit mask a and then AND with 16-bit mask b, if the result is all zeros, store 1 in dst, otherwise store 0 in dst.
- _ktestc_
mask64_ u8 avx512bw
- Compute the bitwise NOT of 64-bit mask a and then AND with 8-bit mask b, if the result is all zeros, store 1 in dst, otherwise store 0 in dst.
- _ktestz_
mask32_ u8 avx512bw
- Compute the bitwise AND of 32-bit masks a and b, if the result is all zeros, store 1 in dst, otherwise store 0 in dst.
- _ktestz_
mask64_ u8 avx512bw
- Compute the bitwise AND of 64-bit masks a and b, if the result is all zeros, store 1 in dst, otherwise store 0 in dst.
- _kxnor_
mask32 avx512bw
- Compute the bitwise XNOR of 32-bit masks a and b, and store the result in k.
- _kxnor_
mask64 avx512bw
- Compute the bitwise XNOR of 64-bit masks a and b, and store the result in k.
- _kxor_
mask32 avx512bw
- Compute the bitwise XOR of 32-bit masks a and b, and store the result in k.
- _kxor_
mask64 avx512bw
- Compute the bitwise XOR of 64-bit masks a and b, and store the result in k.
- _load_
mask32 ⚠avx512bw
- Load 32-bit mask from memory into k.
- _load_
mask64 ⚠avx512bw
- Load 64-bit mask from memory into k.
- _mm256_
cmp_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k.
- _mm256_
cmp_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k.
- _mm256_
cmp_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k.
- _mm256_
cmp_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k.
- _mm256_
cmpeq_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for equality, and store the results in mask vector k.
- _mm256_
cmpeq_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for equality, and store the results in mask vector k.
- _mm256_
cmpeq_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for equality, and store the results in mask vector k.
- _mm256_
cmpeq_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for equality, and store the results in mask vector k.
- _mm256_
cmpge_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k.
- _mm256_
cmpge_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k.
- _mm256_
cmpge_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k.
- _mm256_
cmpge_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k.
- _mm256_
cmpgt_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for greater-than, and store the results in mask vector k.
- _mm256_
cmpgt_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for greater-than, and store the results in mask vector k.
- _mm256_
cmpgt_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for greater-than, and store the results in mask vector k.
- _mm256_
cmpgt_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for greater-than, and store the results in mask vector k.
- _mm256_
cmple_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for less-than-or-equal, and store the results in mask vector k.
- _mm256_
cmple_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for less-than-or-equal, and store the results in mask vector k.
- _mm256_
cmple_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for less-than-or-equal, and store the results in mask vector k.
- _mm256_
cmple_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for less-than-or-equal, and store the results in mask vector k.
- _mm256_
cmplt_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for less-than, and store the results in mask vector k.
- _mm256_
cmplt_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for less-than, and store the results in mask vector k.
- _mm256_
cmplt_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for less-than, and store the results in mask vector k.
- _mm256_
cmplt_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for less-than, and store the results in mask vector k.
- _mm256_
cmpneq_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for not-equal, and store the results in mask vector k.
- _mm256_
cmpneq_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for not-equal, and store the results in mask vector k.
- _mm256_
cmpneq_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for not-equal, and store the results in mask vector k.
- _mm256_
cmpneq_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for not-equal, and store the results in mask vector k.
- _mm256_
cvtepi16_ epi8 avx512bw
andavx512vl
- Convert packed 16-bit integers in a to packed 8-bit integers with truncation, and store the results in dst.
- _mm256_
cvtsepi16_ epi8 avx512bw
andavx512vl
- Convert packed signed 16-bit integers in a to packed 8-bit integers with signed saturation, and store the results in dst.
- _mm256_
cvtusepi16_ epi8 avx512bw
andavx512vl
- Convert packed unsigned 16-bit integers in a to packed unsigned 8-bit integers with unsigned saturation, and store the results in dst.
- _mm256_
dbsad_ epu8 avx512bw
andavx512vl
- Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in a compared to those in b, and store the 16-bit results in dst. Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from a, and the last two SADs use the uppper 8-bit quadruplet of the lane from a. Quadruplets from b are selected from within 128-bit lanes according to the control in imm8, and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.
- _mm256_
loadu_ ⚠epi8 avx512bw
andavx512vl
- Load 256-bits (composed of 32 packed 8-bit integers) from memory into dst. mem_addr does not need to be aligned on any particular boundary.
- _mm256_
loadu_ ⚠epi16 avx512bw
andavx512vl
- Load 256-bits (composed of 16 packed 16-bit integers) from memory into dst. mem_addr does not need to be aligned on any particular boundary.
- _mm256_
mask2_ permutex2var_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in a and b across lanes using the corresponding selector and index in idx, and store the results in dst using writemask k (elements are copied from idx when the corresponding mask bit is not set).
- _mm256_
mask_ abs_ epi8 avx512bw
andavx512vl
- Compute the absolute value of packed signed 8-bit integers in a, and store the unsigned results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ abs_ epi16 avx512bw
andavx512vl
- Compute the absolute value of packed signed 16-bit integers in a, and store the unsigned results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ add_ epi8 avx512bw
andavx512vl
- Add packed 8-bit integers in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ add_ epi16 avx512bw
andavx512vl
- Add packed 16-bit integers in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ adds_ epi8 avx512bw
andavx512vl
- Add packed signed 8-bit integers in a and b using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ adds_ epi16 avx512bw
andavx512vl
- Add packed signed 16-bit integers in a and b using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ adds_ epu8 avx512bw
andavx512vl
- Add packed unsigned 8-bit integers in a and b using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ adds_ epu16 avx512bw
andavx512vl
- Add packed unsigned 16-bit integers in a and b using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ alignr_ epi8 avx512bw
andavx512vl
- Concatenate pairs of 16-byte blocks in a and b into a 32-byte temporary result, shift the result right by imm8 bytes, and store the low 16 bytes in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ avg_ epu8 avx512bw
andavx512vl
- Average packed unsigned 8-bit integers in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ avg_ epu16 avx512bw
andavx512vl
- Average packed unsigned 16-bit integers in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ blend_ epi8 avx512bw
andavx512vl
- Blend packed 8-bit integers from a and b using control mask k, and store the results in dst.
- _mm256_
mask_ blend_ epi16 avx512bw
andavx512vl
- Blend packed 16-bit integers from a and b using control mask k, and store the results in dst.
- _mm256_
mask_ broadcastb_ epi8 avx512bw
andavx512vl
- Broadcast the low packed 8-bit integer from a to all elements of dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ broadcastw_ epi16 avx512bw
andavx512vl
- Broadcast the low packed 16-bit integer from a to all elements of dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ cmp_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmp_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmp_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmp_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmpeq_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for equality, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmpeq_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for equality, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmpeq_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for equality, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmpeq_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for equality, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmpge_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmpge_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmpge_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmpge_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmpgt_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for greater-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmpgt_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for greater-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmpgt_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for greater-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmpgt_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for greater-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmple_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for less-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmple_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for less-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmple_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for less-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmple_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for less-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmplt_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for less-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmplt_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for less-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmplt_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for less-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmplt_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for less-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmpneq_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for not-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmpneq_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for not-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmpneq_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for not-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cmpneq_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for not-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
mask_ cvtepi8_ epi16 avx512bw
andavx512vl
- Sign extend packed 8-bit integers in a to packed 16-bit integers, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ cvtepi16_ epi8 avx512bw
andavx512vl
- Convert packed 16-bit integers in a to packed 8-bit integers with truncation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ ⚠cvtepi16_ storeu_ epi8 avx512bw
andavx512vl
- Convert packed 16-bit integers in a to packed 8-bit integers with truncation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.
- _mm256_
mask_ cvtepu8_ epi16 avx512bw
andavx512vl
- Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ cvtsepi16_ epi8 avx512bw
andavx512vl
- Convert packed signed 16-bit integers in a to packed 8-bit integers with signed saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ ⚠cvtsepi16_ storeu_ epi8 avx512bw
andavx512vl
- Convert packed signed 16-bit integers in a to packed 8-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.
- _mm256_
mask_ cvtusepi16_ epi8 avx512bw
andavx512vl
- Convert packed unsigned 16-bit integers in a to packed unsigned 8-bit integers with unsigned saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ ⚠cvtusepi16_ storeu_ epi8 avx512bw
andavx512vl
- Convert packed unsigned 16-bit integers in a to packed unsigned 8-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.
- _mm256_
mask_ dbsad_ epu8 avx512bw
andavx512vl
- Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in a compared to those in b, and store the 16-bit results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set). Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from a, and the last two SADs use the uppper 8-bit quadruplet of the lane from a. Quadruplets from b are selected from within 128-bit lanes according to the control in imm8, and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.
- _mm256_
mask_ ⚠loadu_ epi8 avx512bw
andavx512vl
- Load packed 8-bit integers from memory into dst using writemask k (elements are copied from src when the corresponding mask bit is not set). mem_addr does not need to be aligned on any particular boundary.
- _mm256_
mask_ ⚠loadu_ epi16 avx512bw
andavx512vl
- Load packed 16-bit integers from memory into dst using writemask k (elements are copied from src when the corresponding mask bit is not set). mem_addr does not need to be aligned on any particular boundary.
- _mm256_
mask_ madd_ epi16 avx512bw
andavx512vl
- Multiply packed signed 16-bit integers in a and b, producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers, and pack the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ maddubs_ epi16 avx512bw
andavx512vl
- Multiply packed unsigned 8-bit integers in a by packed signed 8-bit integers in b, producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers, and pack the saturated results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ max_ epi8 avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b, and store packed maximum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ max_ epi16 avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b, and store packed maximum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ max_ epu8 avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b, and store packed maximum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ max_ epu16 avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b, and store packed maximum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ min_ epi8 avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b, and store packed minimum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ min_ epi16 avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b, and store packed minimum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ min_ epu8 avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b, and store packed minimum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ min_ epu16 avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b, and store packed minimum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ mov_ epi8 avx512bw
andavx512vl
- Move packed 8-bit integers from a into dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ mov_ epi16 avx512bw
andavx512vl
- Move packed 16-bit integers from a into dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ mulhi_ epi16 avx512bw
andavx512vl
- Multiply the packed signed 16-bit integers in a and b, producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ mulhi_ epu16 avx512bw
andavx512vl
- Multiply the packed unsigned 16-bit integers in a and b, producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ mulhrs_ epi16 avx512bw
andavx512vl
- Multiply packed signed 16-bit integers in a and b, producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ mullo_ epi16 avx512bw
andavx512vl
- Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit integers, and store the low 16 bits of the intermediate integers in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ packs_ epi16 avx512bw
andavx512vl
- Convert packed signed 16-bit integers from a and b to packed 8-bit integers using signed saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ packs_ epi32 avx512bw
andavx512vl
- Convert packed signed 32-bit integers from a and b to packed 16-bit integers using signed saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ packus_ epi16 avx512bw
andavx512vl
- Convert packed signed 16-bit integers from a and b to packed 8-bit integers using unsigned saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ packus_ epi32 avx512bw
andavx512vl
- Convert packed signed 32-bit integers from a and b to packed 16-bit integers using unsigned saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ permutex2var_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in a and b across lanes using the corresponding selector and index in idx, and store the results in dst using writemask k (elements are copied from a when the corresponding mask bit is not set).
- _mm256_
mask_ permutexvar_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in a across lanes using the corresponding index in idx, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ reduce_ add_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by addition using mask k. Returns the sum of all active elements in a.
- _mm256_
mask_ reduce_ add_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by addition using mask k. Returns the sum of all active elements in a.
- _mm256_
mask_ reduce_ and_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by bitwise AND using mask k. Returns the bitwise AND of all active elements in a.
- _mm256_
mask_ reduce_ and_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by bitwise AND using mask k. Returns the bitwise AND of all active elements in a.
- _mm256_
mask_ reduce_ max_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by maximum using mask k. Returns the maximum of all active elements in a.
- _mm256_
mask_ reduce_ max_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by maximum using mask k. Returns the maximum of all active elements in a.
- _mm256_
mask_ reduce_ max_ epu8 avx512bw
andavx512vl
- Reduce the packed unsigned 8-bit integers in a by maximum using mask k. Returns the maximum of all active elements in a.
- _mm256_
mask_ reduce_ max_ epu16 avx512bw
andavx512vl
- Reduce the packed unsigned 16-bit integers in a by maximum using mask k. Returns the maximum of all active elements in a.
- _mm256_
mask_ reduce_ min_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by minimum using mask k. Returns the minimum of all active elements in a.
- _mm256_
mask_ reduce_ min_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by minimum using mask k. Returns the minimum of all active elements in a.
- _mm256_
mask_ reduce_ min_ epu8 avx512bw
andavx512vl
- Reduce the packed unsigned 8-bit integers in a by minimum using mask k. Returns the minimum of all active elements in a.
- _mm256_
mask_ reduce_ min_ epu16 avx512bw
andavx512vl
- Reduce the packed unsigned 16-bit integers in a by minimum using mask k. Returns the minimum of all active elements in a.
- _mm256_
mask_ reduce_ mul_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by multiplication using mask k. Returns the product of all active elements in a.
- _mm256_
mask_ reduce_ mul_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by multiplication using mask k. Returns the product of all active elements in a.
- _mm256_
mask_ reduce_ or_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by bitwise OR using mask k. Returns the bitwise OR of all active elements in a.
- _mm256_
mask_ reduce_ or_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by bitwise OR using mask k. Returns the bitwise OR of all active elements in a.
- _mm256_
mask_ set1_ epi8 avx512bw
andavx512vl
- Broadcast 8-bit integer a to all elements of dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ set1_ epi16 avx512bw
andavx512vl
- Broadcast 16-bit integer a to all elements of dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ shuffle_ epi8 avx512bw
andavx512vl
- Shuffle 8-bit integers in a within 128-bit lanes using the control in the corresponding 8-bit element of b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ shufflehi_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in the high 64 bits of 128-bit lanes of a using the control in imm8. Store the results in the high 64 bits of 128-bit lanes of dst, with the low 64 bits of 128-bit lanes being copied from a to dst, using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ shufflelo_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in the low 64 bits of 128-bit lanes of a using the control in imm8. Store the results in the low 64 bits of 128-bit lanes of dst, with the high 64 bits of 128-bit lanes being copied from a to dst, using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ sll_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a left by count while shifting in zeros, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ slli_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ sllv_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ sra_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by count while shifting in sign bits, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ srai_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by imm8 while shifting in sign bits, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ srav_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ srl_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by count while shifting in zeros, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ srli_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ srlv_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ ⚠storeu_ epi8 avx512bw
andavx512vl
- Store packed 8-bit integers from a into memory using writemask k. mem_addr does not need to be aligned on any particular boundary.
- _mm256_
mask_ ⚠storeu_ epi16 avx512bw
andavx512vl
- Store packed 16-bit integers from a into memory using writemask k. mem_addr does not need to be aligned on any particular boundary.
- _mm256_
mask_ sub_ epi8 avx512bw
andavx512vl
- Subtract packed 8-bit integers in b from packed 8-bit integers in a, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ sub_ epi16 avx512bw
andavx512vl
- Subtract packed 16-bit integers in b from packed 16-bit integers in a, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ subs_ epi8 avx512bw
andavx512vl
- Subtract packed signed 8-bit integers in b from packed 8-bit integers in a using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ subs_ epi16 avx512bw
andavx512vl
- Subtract packed signed 16-bit integers in b from packed 16-bit integers in a using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ subs_ epu8 avx512bw
andavx512vl
- Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit integers in a using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ subs_ epu16 avx512bw
andavx512vl
- Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit integers in a using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ test_ epi8_ mask avx512bw
andavx512vl
- Compute the bitwise AND of packed 8-bit integers in a and b, producing intermediate 8-bit values, and set the corresponding bit in result mask k (subject to writemask k) if the intermediate value is non-zero.
- _mm256_
mask_ test_ epi16_ mask avx512bw
andavx512vl
- Compute the bitwise AND of packed 16-bit integers in a and b, producing intermediate 16-bit values, and set the corresponding bit in result mask k (subject to writemask k) if the intermediate value is non-zero.
- _mm256_
mask_ testn_ epi8_ mask avx512bw
andavx512vl
- Compute the bitwise NAND of packed 8-bit integers in a and b, producing intermediate 8-bit values, and set the corresponding bit in result mask k (subject to writemask k) if the intermediate value is zero.
- _mm256_
mask_ testn_ epi16_ mask avx512bw
andavx512vl
- Compute the bitwise NAND of packed 16-bit integers in a and b, producing intermediate 16-bit values, and set the corresponding bit in result mask k (subject to writemask k) if the intermediate value is zero.
- _mm256_
mask_ unpackhi_ epi8 avx512bw
andavx512vl
- Unpack and interleave 8-bit integers from the high half of each 128-bit lane in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ unpackhi_ epi16 avx512bw
andavx512vl
- Unpack and interleave 16-bit integers from the high half of each 128-bit lane in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ unpacklo_ epi8 avx512bw
andavx512vl
- Unpack and interleave 8-bit integers from the low half of each 128-bit lane in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
mask_ unpacklo_ epi16 avx512bw
andavx512vl
- Unpack and interleave 16-bit integers from the low half of each 128-bit lane in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
maskz_ abs_ epi8 avx512bw
andavx512vl
- Compute the absolute value of packed signed 8-bit integers in a, and store the unsigned results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ abs_ epi16 avx512bw
andavx512vl
- Compute the absolute value of packed signed 16-bit integers in a, and store the unsigned results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ add_ epi8 avx512bw
andavx512vl
- Add packed 8-bit integers in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ add_ epi16 avx512bw
andavx512vl
- Add packed 16-bit integers in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ adds_ epi8 avx512bw
andavx512vl
- Add packed signed 8-bit integers in a and b using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ adds_ epi16 avx512bw
andavx512vl
- Add packed signed 16-bit integers in a and b using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ adds_ epu8 avx512bw
andavx512vl
- Add packed unsigned 8-bit integers in a and b using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ adds_ epu16 avx512bw
andavx512vl
- Add packed unsigned 16-bit integers in a and b using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ alignr_ epi8 avx512bw
andavx512vl
- Concatenate pairs of 16-byte blocks in a and b into a 32-byte temporary result, shift the result right by imm8 bytes, and store the low 16 bytes in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ avg_ epu8 avx512bw
andavx512vl
- Average packed unsigned 8-bit integers in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ avg_ epu16 avx512bw
andavx512vl
- Average packed unsigned 16-bit integers in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ broadcastb_ epi8 avx512bw
andavx512vl
- Broadcast the low packed 8-bit integer from a to all elements of dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ broadcastw_ epi16 avx512bw
andavx512vl
- Broadcast the low packed 16-bit integer from a to all elements of dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ cvtepi8_ epi16 avx512bw
andavx512vl
- Sign extend packed 8-bit integers in a to packed 16-bit integers, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ cvtepi16_ epi8 avx512bw
andavx512vl
- Convert packed 16-bit integers in a to packed 8-bit integers with truncation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ cvtepu8_ epi16 avx512bw
andavx512vl
- Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ cvtsepi16_ epi8 avx512bw
andavx512vl
- Convert packed signed 16-bit integers in a to packed 8-bit integers with signed saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ cvtusepi16_ epi8 avx512bw
andavx512vl
- Convert packed unsigned 16-bit integers in a to packed unsigned 8-bit integers with unsigned saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ dbsad_ epu8 avx512bw
andavx512vl
- Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in a compared to those in b, and store the 16-bit results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set). Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from a, and the last two SADs use the uppper 8-bit quadruplet of the lane from a. Quadruplets from b are selected from within 128-bit lanes according to the control in imm8, and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.
- _mm256_
maskz_ ⚠loadu_ epi8 avx512bw
andavx512vl
- Load packed 8-bit integers from memory into dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set). mem_addr does not need to be aligned on any particular boundary.
- _mm256_
maskz_ ⚠loadu_ epi16 avx512bw
andavx512vl
- Load packed 16-bit integers from memory into dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set). mem_addr does not need to be aligned on any particular boundary.
- _mm256_
maskz_ madd_ epi16 avx512bw
andavx512vl
- Multiply packed signed 16-bit integers in a and b, producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers, and pack the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ maddubs_ epi16 avx512bw
andavx512vl
- Multiply packed unsigned 8-bit integers in a by packed signed 8-bit integers in b, producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers, and pack the saturated results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ max_ epi8 avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b, and store packed maximum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ max_ epi16 avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b, and store packed maximum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ max_ epu8 avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b, and store packed maximum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ max_ epu16 avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b, and store packed maximum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ min_ epi8 avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b, and store packed minimum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ min_ epi16 avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b, and store packed minimum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ min_ epu8 avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b, and store packed minimum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ min_ epu16 avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b, and store packed minimum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ mov_ epi8 avx512bw
andavx512vl
- Move packed 8-bit integers from a into dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ mov_ epi16 avx512bw
andavx512vl
- Move packed 16-bit integers from a into dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ mulhi_ epi16 avx512bw
andavx512vl
- Multiply the packed signed 16-bit integers in a and b, producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ mulhi_ epu16 avx512bw
andavx512vl
- Multiply the packed unsigned 16-bit integers in a and b, producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ mulhrs_ epi16 avx512bw
andavx512vl
- Multiply packed signed 16-bit integers in a and b, producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ mullo_ epi16 avx512bw
andavx512vl
- Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit integers, and store the low 16 bits of the intermediate integers in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ packs_ epi16 avx512bw
andavx512vl
- Convert packed signed 16-bit integers from a and b to packed 8-bit integers using signed saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ packs_ epi32 avx512bw
andavx512vl
- Convert packed signed 32-bit integers from a and b to packed 16-bit integers using signed saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ packus_ epi16 avx512bw
andavx512vl
- Convert packed signed 16-bit integers from a and b to packed 8-bit integers using unsigned saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ packus_ epi32 avx512bw
andavx512vl
- Convert packed signed 32-bit integers from a and b to packed 16-bit integers using unsigned saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ permutex2var_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in a and b across lanes using the corresponding selector and index in idx, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ permutexvar_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in a across lanes using the corresponding index in idx, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ set1_ epi8 avx512bw
andavx512vl
- Broadcast 8-bit integer a to all elements of dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ set1_ epi16 avx512bw
andavx512vl
- Broadcast the low packed 16-bit integer from a to all elements of dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ shuffle_ epi8 avx512bw
andavx512vl
- Shuffle packed 8-bit integers in a according to shuffle control mask in the corresponding 8-bit element of b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ shufflehi_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in the high 64 bits of 128-bit lanes of a using the control in imm8. Store the results in the high 64 bits of 128-bit lanes of dst, with the low 64 bits of 128-bit lanes being copied from a to dst, using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ shufflelo_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in the low 64 bits of 128-bit lanes of a using the control in imm8. Store the results in the low 64 bits of 128-bit lanes of dst, with the high 64 bits of 128-bit lanes being copied from a to dst, using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm256_
maskz_ sll_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a left by count while shifting in zeros, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ slli_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ sllv_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ sra_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by count while shifting in sign bits, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ srai_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by imm8 while shifting in sign bits, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ srav_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ srl_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by count while shifting in zeros, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ srli_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ srlv_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ sub_ epi8 avx512bw
andavx512vl
- Subtract packed 8-bit integers in b from packed 8-bit integers in a, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ sub_ epi16 avx512bw
andavx512vl
- Subtract packed 16-bit integers in b from packed 16-bit integers in a, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ subs_ epi8 avx512bw
andavx512vl
- Subtract packed signed 8-bit integers in b from packed 8-bit integers in a using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ subs_ epi16 avx512bw
andavx512vl
- Subtract packed signed 16-bit integers in b from packed 16-bit integers in a using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ subs_ epu8 avx512bw
andavx512vl
- Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit integers in a using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ subs_ epu16 avx512bw
andavx512vl
- Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit integers in a using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ unpackhi_ epi8 avx512bw
andavx512vl
- Unpack and interleave 8-bit integers from the high half of each 128-bit lane in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ unpackhi_ epi16 avx512bw
andavx512vl
- Unpack and interleave 16-bit integers from the high half of each 128-bit lane in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ unpacklo_ epi8 avx512bw
andavx512vl
- Unpack and interleave 8-bit integers from the low half of each 128-bit lane in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
maskz_ unpacklo_ epi16 avx512bw
andavx512vl
- Unpack and interleave 16-bit integers from the low half of each 128-bit lane in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm256_
movepi8_ mask avx512bw
andavx512vl
- Set each bit of mask register k based on the most significant bit of the corresponding packed 8-bit integer in a.
- _mm256_
movepi16_ mask avx512bw
andavx512vl
- Set each bit of mask register k based on the most significant bit of the corresponding packed 16-bit integer in a.
- _mm256_
movm_ epi8 avx512bw
andavx512vl
- Set each packed 8-bit integer in dst to all ones or all zeros based on the value of the corresponding bit in k.
- _mm256_
movm_ epi16 avx512bw
andavx512vl
- Set each packed 16-bit integer in dst to all ones or all zeros based on the value of the corresponding bit in k.
- _mm256_
permutex2var_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in a and b across lanes using the corresponding selector and index in idx, and store the results in dst.
- _mm256_
permutexvar_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in a across lanes using the corresponding index in idx, and store the results in dst.
- _mm256_
reduce_ add_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by addition. Returns the sum of all elements in a.
- _mm256_
reduce_ add_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by addition. Returns the sum of all elements in a.
- _mm256_
reduce_ and_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by bitwise AND. Returns the bitwise AND of all elements in a.
- _mm256_
reduce_ and_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by bitwise AND. Returns the bitwise AND of all elements in a.
- _mm256_
reduce_ max_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by maximum. Returns the maximum of all elements in a.
- _mm256_
reduce_ max_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by maximum. Returns the maximum of all elements in a.
- _mm256_
reduce_ max_ epu8 avx512bw
andavx512vl
- Reduce the packed unsigned 8-bit integers in a by maximum. Returns the maximum of all elements in a.
- _mm256_
reduce_ max_ epu16 avx512bw
andavx512vl
- Reduce the packed unsigned 16-bit integers in a by maximum. Returns the maximum of all elements in a.
- _mm256_
reduce_ min_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by minimum. Returns the minimum of all elements in a.
- _mm256_
reduce_ min_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by minimum. Returns the minimum of all elements in a.
- _mm256_
reduce_ min_ epu8 avx512bw
andavx512vl
- Reduce the packed unsigned 8-bit integers in a by minimum. Returns the minimum of all elements in a.
- _mm256_
reduce_ min_ epu16 avx512bw
andavx512vl
- Reduce the packed unsigned 16-bit integers in a by minimum. Returns the minimum of all elements in a.
- _mm256_
reduce_ mul_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by multiplication. Returns the product of all elements in a.
- _mm256_
reduce_ mul_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by multiplication. Returns the product of all elements in a.
- _mm256_
reduce_ or_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by bitwise OR. Returns the bitwise OR of all elements in a.
- _mm256_
reduce_ or_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by bitwise OR. Returns the bitwise OR of all elements in a.
- _mm256_
sllv_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and store the results in dst.
- _mm256_
srav_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and store the results in dst.
- _mm256_
srlv_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and store the results in dst.
- _mm256_
storeu_ ⚠epi8 avx512bw
andavx512vl
- Store 256-bits (composed of 32 packed 8-bit integers) from a into memory. mem_addr does not need to be aligned on any particular boundary.
- _mm256_
storeu_ ⚠epi16 avx512bw
andavx512vl
- Store 256-bits (composed of 16 packed 16-bit integers) from a into memory. mem_addr does not need to be aligned on any particular boundary.
- _mm256_
test_ epi8_ mask avx512bw
andavx512vl
- Compute the bitwise AND of packed 8-bit integers in a and b, producing intermediate 8-bit values, and set the corresponding bit in result mask k if the intermediate value is non-zero.
- _mm256_
test_ epi16_ mask avx512bw
andavx512vl
- Compute the bitwise AND of packed 16-bit integers in a and b, producing intermediate 16-bit values, and set the corresponding bit in result mask k if the intermediate value is non-zero.
- _mm256_
testn_ epi8_ mask avx512bw
andavx512vl
- Compute the bitwise NAND of packed 8-bit integers in a and b, producing intermediate 8-bit values, and set the corresponding bit in result mask k if the intermediate value is zero.
- _mm256_
testn_ epi16_ mask avx512bw
andavx512vl
- Compute the bitwise NAND of packed 16-bit integers in a and b, producing intermediate 16-bit values, and set the corresponding bit in result mask k if the intermediate value is zero.
- _mm512_
abs_ epi8 avx512bw
- Compute the absolute value of packed signed 8-bit integers in a, and store the unsigned results in dst.
- _mm512_
abs_ epi16 avx512bw
- Compute the absolute value of packed signed 16-bit integers in a, and store the unsigned results in dst.
- _mm512_
add_ epi8 avx512bw
- Add packed 8-bit integers in a and b, and store the results in dst.
- _mm512_
add_ epi16 avx512bw
- Add packed 16-bit integers in a and b, and store the results in dst.
- _mm512_
adds_ epi8 avx512bw
- Add packed signed 8-bit integers in a and b using saturation, and store the results in dst.
- _mm512_
adds_ epi16 avx512bw
- Add packed signed 16-bit integers in a and b using saturation, and store the results in dst.
- _mm512_
adds_ epu8 avx512bw
- Add packed unsigned 8-bit integers in a and b using saturation, and store the results in dst.
- _mm512_
adds_ epu16 avx512bw
- Add packed unsigned 16-bit integers in a and b using saturation, and store the results in dst.
- _mm512_
alignr_ epi8 avx512bw
- Concatenate pairs of 16-byte blocks in a and b into a 32-byte temporary result, shift the result right by imm8 bytes, and store the low 16 bytes in dst.
Unlike
_mm_alignr_epi8
,_mm256_alignr_epi8
functions, where the entire input vectors are concatenated to the temporary result, this concatenation happens in 4 steps, where each step builds 32-byte temporary result. - _mm512_
avg_ epu8 avx512bw
- Average packed unsigned 8-bit integers in a and b, and store the results in dst.
- _mm512_
avg_ epu16 avx512bw
- Average packed unsigned 16-bit integers in a and b, and store the results in dst.
- _mm512_
broadcastb_ epi8 avx512bw
- Broadcast the low packed 8-bit integer from a to all elements of dst.
- _mm512_
broadcastw_ epi16 avx512bw
- Broadcast the low packed 16-bit integer from a to all elements of dst.
- _mm512_
bslli_ epi128 avx512bw
- Shift 128-bit lanes in a left by imm8 bytes while shifting in zeros, and store the results in dst.
- _mm512_
bsrli_ epi128 avx512bw
- Shift 128-bit lanes in a right by imm8 bytes while shifting in zeros, and store the results in dst.
- _mm512_
cmp_ epi8_ mask avx512bw
- Compare packed signed 8-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k.
- _mm512_
cmp_ epi16_ mask avx512bw
- Compare packed signed 16-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k.
- _mm512_
cmp_ epu8_ mask avx512bw
- Compare packed unsigned 8-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k.
- _mm512_
cmp_ epu16_ mask avx512bw
- Compare packed unsigned 16-bit integers in a and b based on the comparison operand specified by
IMM8
, and store the results in mask vector k. - _mm512_
cmpeq_ epi8_ mask avx512bw
- Compare packed signed 8-bit integers in a and b for equality, and store the results in mask vector k.
- _mm512_
cmpeq_ epi16_ mask avx512bw
- Compare packed signed 16-bit integers in a and b for equality, and store the results in mask vector k.
- _mm512_
cmpeq_ epu8_ mask avx512bw
- Compare packed unsigned 8-bit integers in a and b for equality, and store the results in mask vector k.
- _mm512_
cmpeq_ epu16_ mask avx512bw
- Compare packed unsigned 16-bit integers in a and b for equality, and store the results in mask vector k.
- _mm512_
cmpge_ epi8_ mask avx512bw
- Compare packed signed 8-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k.
- _mm512_
cmpge_ epi16_ mask avx512bw
- Compare packed signed 16-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k.
- _mm512_
cmpge_ epu8_ mask avx512bw
- Compare packed unsigned 8-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k.
- _mm512_
cmpge_ epu16_ mask avx512bw
- Compare packed unsigned 16-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k.
- _mm512_
cmpgt_ epi8_ mask avx512bw
- Compare packed signed 8-bit integers in a and b for greater-than, and store the results in mask vector k.
- _mm512_
cmpgt_ epi16_ mask avx512bw
- Compare packed signed 16-bit integers in a and b for greater-than, and store the results in mask vector k.
- _mm512_
cmpgt_ epu8_ mask avx512bw
- Compare packed unsigned 8-bit integers in a and b for greater-than, and store the results in mask vector k.
- _mm512_
cmpgt_ epu16_ mask avx512bw
- Compare packed unsigned 16-bit integers in a and b for greater-than, and store the results in mask vector k.
- _mm512_
cmple_ epi8_ mask avx512bw
- Compare packed signed 8-bit integers in a and b for less-than-or-equal, and store the results in mask vector k.
- _mm512_
cmple_ epi16_ mask avx512bw
- Compare packed signed 16-bit integers in a and b for less-than-or-equal, and store the results in mask vector k.
- _mm512_
cmple_ epu8_ mask avx512bw
- Compare packed unsigned 8-bit integers in a and b for less-than-or-equal, and store the results in mask vector k.
- _mm512_
cmple_ epu16_ mask avx512bw
- Compare packed unsigned 16-bit integers in a and b for less-than-or-equal, and store the results in mask vector k.
- _mm512_
cmplt_ epi8_ mask avx512bw
- Compare packed signed 8-bit integers in a and b for less-than, and store the results in mask vector k.
- _mm512_
cmplt_ epi16_ mask avx512bw
- Compare packed signed 16-bit integers in a and b for less-than, and store the results in mask vector k.
- _mm512_
cmplt_ epu8_ mask avx512bw
- Compare packed unsigned 8-bit integers in a and b for less-than, and store the results in mask vector k.
- _mm512_
cmplt_ epu16_ mask avx512bw
- Compare packed unsigned 16-bit integers in a and b for less-than, and store the results in mask vector k.
- _mm512_
cmpneq_ epi8_ mask avx512bw
- Compare packed signed 8-bit integers in a and b for not-equal, and store the results in mask vector k.
- _mm512_
cmpneq_ epi16_ mask avx512bw
- Compare packed signed 16-bit integers in a and b for not-equal, and store the results in mask vector k.
- _mm512_
cmpneq_ epu8_ mask avx512bw
- Compare packed unsigned 8-bit integers in a and b for not-equal, and store the results in mask vector k.
- _mm512_
cmpneq_ epu16_ mask avx512bw
- Compare packed unsigned 16-bit integers in a and b for not-equal, and store the results in mask vector k.
- _mm512_
cvtepi8_ epi16 avx512bw
- Sign extend packed 8-bit integers in a to packed 16-bit integers, and store the results in dst.
- _mm512_
cvtepi16_ epi8 avx512bw
- Convert packed 16-bit integers in a to packed 8-bit integers with truncation, and store the results in dst.
- _mm512_
cvtepu8_ epi16 avx512bw
- Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, and store the results in dst.
- _mm512_
cvtsepi16_ epi8 avx512bw
- Convert packed signed 16-bit integers in a to packed 8-bit integers with signed saturation, and store the results in dst.
- _mm512_
cvtusepi16_ epi8 avx512bw
- Convert packed unsigned 16-bit integers in a to packed unsigned 8-bit integers with unsigned saturation, and store the results in dst.
- _mm512_
dbsad_ epu8 avx512bw
- Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in a compared to those in b, and store the 16-bit results in dst. Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from a, and the last two SADs use the uppper 8-bit quadruplet of the lane from a. Quadruplets from b are selected from within 128-bit lanes according to the control in imm8, and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.
- _mm512_
kunpackd avx512bw
- Unpack and interleave 32 bits from masks a and b, and store the 64-bit result in k.
- _mm512_
kunpackw avx512bw
- Unpack and interleave 16 bits from masks a and b, and store the 32-bit result in k.
- _mm512_
loadu_ ⚠epi8 avx512bw
- Load 512-bits (composed of 64 packed 8-bit integers) from memory into dst. mem_addr does not need to be aligned on any particular boundary.
- _mm512_
loadu_ ⚠epi16 avx512bw
- Load 512-bits (composed of 32 packed 16-bit integers) from memory into dst. mem_addr does not need to be aligned on any particular boundary.
- _mm512_
madd_ epi16 avx512bw
- Multiply packed signed 16-bit integers in a and b, producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers, and pack the results in dst.
- _mm512_
maddubs_ epi16 avx512bw
- Vertically multiply each unsigned 8-bit integer from a with the corresponding signed 8-bit integer from b, producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers, and pack the saturated results in dst.
- _mm512_
mask2_ permutex2var_ epi16 avx512bw
- Shuffle 16-bit integers in a and b across lanes using the corresponding selector and index in idx, and store the results in dst using writemask k (elements are copied from idx when the corresponding mask bit is not set).
- _mm512_
mask_ abs_ epi8 avx512bw
- Compute the absolute value of packed signed 8-bit integers in a, and store the unsigned results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ abs_ epi16 avx512bw
- Compute the absolute value of packed signed 16-bit integers in a, and store the unsigned results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ add_ epi8 avx512bw
- Add packed 8-bit integers in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ add_ epi16 avx512bw
- Add packed 16-bit integers in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ adds_ epi8 avx512bw
- Add packed signed 8-bit integers in a and b using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ adds_ epi16 avx512bw
- Add packed signed 16-bit integers in a and b using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ adds_ epu8 avx512bw
- Add packed unsigned 8-bit integers in a and b using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ adds_ epu16 avx512bw
- Add packed unsigned 16-bit integers in a and b using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ alignr_ epi8 avx512bw
- Concatenate pairs of 16-byte blocks in a and b into a 32-byte temporary result, shift the result right by imm8 bytes, and store the low 16 bytes in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ avg_ epu8 avx512bw
- Average packed unsigned 8-bit integers in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ avg_ epu16 avx512bw
- Average packed unsigned 16-bit integers in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ blend_ epi8 avx512bw
- Blend packed 8-bit integers from a and b using control mask k, and store the results in dst.
- _mm512_
mask_ blend_ epi16 avx512bw
- Blend packed 16-bit integers from a and b using control mask k, and store the results in dst.
- _mm512_
mask_ broadcastb_ epi8 avx512bw
- Broadcast the low packed 8-bit integer from a to all elements of dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ broadcastw_ epi16 avx512bw
- Broadcast the low packed 16-bit integer from a to all elements of dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ cmp_ epi8_ mask avx512bw
- Compare packed signed 8-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmp_ epi16_ mask avx512bw
- Compare packed signed 16-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmp_ epu8_ mask avx512bw
- Compare packed unsigned 8-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmp_ epu16_ mask avx512bw
- Compare packed unsigned 16-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmpeq_ epi8_ mask avx512bw
- Compare packed signed 8-bit integers in a and b for equality, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmpeq_ epi16_ mask avx512bw
- Compare packed signed 16-bit integers in a and b for equality, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmpeq_ epu8_ mask avx512bw
- Compare packed unsigned 8-bit integers in a and b for equality, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmpeq_ epu16_ mask avx512bw
- Compare packed unsigned 16-bit integers in a and b for equality, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmpge_ epi8_ mask avx512bw
- Compare packed signed 8-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmpge_ epi16_ mask avx512bw
- Compare packed signed 16-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmpge_ epu8_ mask avx512bw
- Compare packed unsigned 8-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmpge_ epu16_ mask avx512bw
- Compare packed unsigned 16-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmpgt_ epi8_ mask avx512bw
- Compare packed signed 8-bit integers in a and b for greater-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmpgt_ epi16_ mask avx512bw
- Compare packed signed 16-bit integers in a and b for greater-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmpgt_ epu8_ mask avx512bw
- Compare packed unsigned 8-bit integers in a and b for greater-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmpgt_ epu16_ mask avx512bw
- Compare packed unsigned 16-bit integers in a and b for greater-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmple_ epi8_ mask avx512bw
- Compare packed signed 8-bit integers in a and b for less-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmple_ epi16_ mask avx512bw
- Compare packed signed 16-bit integers in a and b for less-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmple_ epu8_ mask avx512bw
- Compare packed unsigned 8-bit integers in a and b for less-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmple_ epu16_ mask avx512bw
- Compare packed unsigned 16-bit integers in a and b for less-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmplt_ epi8_ mask avx512bw
- Compare packed signed 8-bit integers in a and b for less-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmplt_ epi16_ mask avx512bw
- Compare packed signed 16-bit integers in a and b for less-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmplt_ epu8_ mask avx512bw
- Compare packed unsigned 8-bit integers in a and b for less-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmplt_ epu16_ mask avx512bw
- Compare packed unsigned 16-bit integers in a and b for less-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmpneq_ epi8_ mask avx512bw
- Compare packed signed 8-bit integers in a and b for not-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmpneq_ epi16_ mask avx512bw
- Compare packed signed 16-bit integers in a and b for not-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmpneq_ epu8_ mask avx512bw
- Compare packed unsigned 8-bit integers in a and b for not-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cmpneq_ epu16_ mask avx512bw
- Compare packed unsigned 16-bit integers in a and b for not-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
mask_ cvtepi8_ epi16 avx512bw
- Sign extend packed 8-bit integers in a to packed 16-bit integers, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ cvtepi16_ epi8 avx512bw
- Convert packed 16-bit integers in a to packed 8-bit integers with truncation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ ⚠cvtepi16_ storeu_ epi8 avx512bw
- Convert packed 16-bit integers in a to packed 8-bit integers with truncation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.
- _mm512_
mask_ cvtepu8_ epi16 avx512bw
- Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ cvtsepi16_ epi8 avx512bw
- Convert packed signed 16-bit integers in a to packed 8-bit integers with signed saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ ⚠cvtsepi16_ storeu_ epi8 avx512bw
- Convert packed signed 16-bit integers in a to packed 8-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.
- _mm512_
mask_ cvtusepi16_ epi8 avx512bw
- Convert packed unsigned 16-bit integers in a to packed unsigned 8-bit integers with unsigned saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ ⚠cvtusepi16_ storeu_ epi8 avx512bw
- Convert packed unsigned 16-bit integers in a to packed unsigned 8-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.
- _mm512_
mask_ dbsad_ epu8 avx512bw
- Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in a compared to those in b, and store the 16-bit results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set). Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from a, and the last two SADs use the uppper 8-bit quadruplet of the lane from a. Quadruplets from b are selected from within 128-bit lanes according to the control in imm8, and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.
- _mm512_
mask_ ⚠loadu_ epi8 avx512bw
- Load packed 8-bit integers from memory into dst using writemask k (elements are copied from src when the corresponding mask bit is not set). mem_addr does not need to be aligned on any particular boundary.
- _mm512_
mask_ ⚠loadu_ epi16 avx512bw
- Load packed 16-bit integers from memory into dst using writemask k (elements are copied from src when the corresponding mask bit is not set). mem_addr does not need to be aligned on any particular boundary.
- _mm512_
mask_ madd_ epi16 avx512bw
- Multiply packed signed 16-bit integers in a and b, producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers, and pack the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ maddubs_ epi16 avx512bw
- Multiply packed unsigned 8-bit integers in a by packed signed 8-bit integers in b, producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers, and pack the saturated results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ max_ epi8 avx512bw
- Compare packed signed 8-bit integers in a and b, and store packed maximum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ max_ epi16 avx512bw
- Compare packed signed 16-bit integers in a and b, and store packed maximum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ max_ epu8 avx512bw
- Compare packed unsigned 8-bit integers in a and b, and store packed maximum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ max_ epu16 avx512bw
- Compare packed unsigned 16-bit integers in a and b, and store packed maximum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ min_ epi8 avx512bw
- Compare packed signed 8-bit integers in a and b, and store packed minimum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ min_ epi16 avx512bw
- Compare packed signed 16-bit integers in a and b, and store packed minimum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ min_ epu8 avx512bw
- Compare packed unsigned 8-bit integers in a and b, and store packed minimum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ min_ epu16 avx512bw
- Compare packed unsigned 16-bit integers in a and b, and store packed minimum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ mov_ epi8 avx512bw
- Move packed 8-bit integers from a into dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ mov_ epi16 avx512bw
- Move packed 16-bit integers from a into dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ mulhi_ epi16 avx512bw
- Multiply the packed signed 16-bit integers in a and b, producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ mulhi_ epu16 avx512bw
- Multiply the packed unsigned 16-bit integers in a and b, producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ mulhrs_ epi16 avx512bw
- Multiply packed signed 16-bit integers in a and b, producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ mullo_ epi16 avx512bw
- Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit integers, and store the low 16 bits of the intermediate integers in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ packs_ epi16 avx512bw
- Convert packed signed 16-bit integers from a and b to packed 8-bit integers using signed saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ packs_ epi32 avx512bw
- Convert packed signed 32-bit integers from a and b to packed 16-bit integers using signed saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ packus_ epi16 avx512bw
- Convert packed signed 16-bit integers from a and b to packed 8-bit integers using unsigned saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ packus_ epi32 avx512bw
- Convert packed signed 32-bit integers from a and b to packed 16-bit integers using unsigned saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ permutex2var_ epi16 avx512bw
- Shuffle 16-bit integers in a and b across lanes using the corresponding selector and index in idx, and store the results in dst using writemask k (elements are copied from a when the corresponding mask bit is not set).
- _mm512_
mask_ permutexvar_ epi16 avx512bw
- Shuffle 16-bit integers in a across lanes using the corresponding index in idx, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ set1_ epi8 avx512bw
- Broadcast 8-bit integer a to all elements of dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ set1_ epi16 avx512bw
- Broadcast 16-bit integer a to all elements of dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ shuffle_ epi8 avx512bw
- Shuffle 8-bit integers in a within 128-bit lanes using the control in the corresponding 8-bit element of b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ shufflehi_ epi16 avx512bw
- Shuffle 16-bit integers in the high 64 bits of 128-bit lanes of a using the control in imm8. Store the results in the high 64 bits of 128-bit lanes of dst, with the low 64 bits of 128-bit lanes being copied from a to dst, using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ shufflelo_ epi16 avx512bw
- Shuffle 16-bit integers in the low 64 bits of 128-bit lanes of a using the control in imm8. Store the results in the low 64 bits of 128-bit lanes of dst, with the high 64 bits of 128-bit lanes being copied from a to dst, using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ sll_ epi16 avx512bw
- Shift packed 16-bit integers in a left by count while shifting in zeros, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ slli_ epi16 avx512bw
- Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ sllv_ epi16 avx512bw
- Shift packed 16-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ sra_ epi16 avx512bw
- Shift packed 16-bit integers in a right by count while shifting in sign bits, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ srai_ epi16 avx512bw
- Shift packed 16-bit integers in a right by imm8 while shifting in sign bits, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ srav_ epi16 avx512bw
- Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ srl_ epi16 avx512bw
- Shift packed 16-bit integers in a right by count while shifting in zeros, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ srli_ epi16 avx512bw
- Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ srlv_ epi16 avx512bw
- Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ ⚠storeu_ epi8 avx512bw
- Store packed 8-bit integers from a into memory using writemask k. mem_addr does not need to be aligned on any particular boundary.
- _mm512_
mask_ ⚠storeu_ epi16 avx512bw
- Store packed 16-bit integers from a into memory using writemask k. mem_addr does not need to be aligned on any particular boundary.
- _mm512_
mask_ sub_ epi8 avx512bw
- Subtract packed 8-bit integers in b from packed 8-bit integers in a, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ sub_ epi16 avx512bw
- Subtract packed 16-bit integers in b from packed 16-bit integers in a, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ subs_ epi8 avx512bw
- Subtract packed signed 8-bit integers in b from packed 8-bit integers in a using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ subs_ epi16 avx512bw
- Subtract packed signed 16-bit integers in b from packed 16-bit integers in a using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ subs_ epu8 avx512bw
- Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit integers in a using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ subs_ epu16 avx512bw
- Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit integers in a using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ test_ epi8_ mask avx512bw
- Compute the bitwise AND of packed 8-bit integers in a and b, producing intermediate 8-bit values, and set the corresponding bit in result mask k (subject to writemask k) if the intermediate value is non-zero.
- _mm512_
mask_ test_ epi16_ mask avx512bw
- Compute the bitwise AND of packed 16-bit integers in a and b, producing intermediate 16-bit values, and set the corresponding bit in result mask k (subject to writemask k) if the intermediate value is non-zero.
- _mm512_
mask_ testn_ epi8_ mask avx512bw
- Compute the bitwise NAND of packed 8-bit integers in a and b, producing intermediate 8-bit values, and set the corresponding bit in result mask k (subject to writemask k) if the intermediate value is zero.
- _mm512_
mask_ testn_ epi16_ mask avx512bw
- Compute the bitwise NAND of packed 16-bit integers in a and b, producing intermediate 16-bit values, and set the corresponding bit in result mask k (subject to writemask k) if the intermediate value is zero.
- _mm512_
mask_ unpackhi_ epi8 avx512bw
- Unpack and interleave 8-bit integers from the high half of each 128-bit lane in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ unpackhi_ epi16 avx512bw
- Unpack and interleave 16-bit integers from the high half of each 128-bit lane in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ unpacklo_ epi8 avx512bw
- Unpack and interleave 8-bit integers from the low half of each 128-bit lane in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
mask_ unpacklo_ epi16 avx512bw
- Unpack and interleave 16-bit integers from the low half of each 128-bit lane in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm512_
maskz_ abs_ epi8 avx512bw
- Compute the absolute value of packed signed 8-bit integers in a, and store the unsigned results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ abs_ epi16 avx512bw
- Compute the absolute value of packed signed 16-bit integers in a, and store the unsigned results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ add_ epi8 avx512bw
- Add packed 8-bit integers in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ add_ epi16 avx512bw
- Add packed 16-bit integers in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ adds_ epi8 avx512bw
- Add packed signed 8-bit integers in a and b using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ adds_ epi16 avx512bw
- Add packed signed 16-bit integers in a and b using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ adds_ epu8 avx512bw
- Add packed unsigned 8-bit integers in a and b using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ adds_ epu16 avx512bw
- Add packed unsigned 16-bit integers in a and b using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ alignr_ epi8 avx512bw
- Concatenate pairs of 16-byte blocks in a and b into a 32-byte temporary result, shift the result right by imm8 bytes, and store the low 16 bytes in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ avg_ epu8 avx512bw
- Average packed unsigned 8-bit integers in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ avg_ epu16 avx512bw
- Average packed unsigned 16-bit integers in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ broadcastb_ epi8 avx512bw
- Broadcast the low packed 8-bit integer from a to all elements of dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ broadcastw_ epi16 avx512bw
- Broadcast the low packed 16-bit integer from a to all elements of dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ cvtepi8_ epi16 avx512bw
- Sign extend packed 8-bit integers in a to packed 16-bit integers, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ cvtepi16_ epi8 avx512bw
- Convert packed 16-bit integers in a to packed 8-bit integers with truncation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ cvtepu8_ epi16 avx512bw
- Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ cvtsepi16_ epi8 avx512bw
- Convert packed signed 16-bit integers in a to packed 8-bit integers with signed saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ cvtusepi16_ epi8 avx512bw
- Convert packed unsigned 16-bit integers in a to packed unsigned 8-bit integers with unsigned saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ dbsad_ epu8 avx512bw
- Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in a compared to those in b, and store the 16-bit results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set). Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from a, and the last two SADs use the uppper 8-bit quadruplet of the lane from a. Quadruplets from b are selected from within 128-bit lanes according to the control in imm8, and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.
- _mm512_
maskz_ ⚠loadu_ epi8 avx512bw
- Load packed 8-bit integers from memory into dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set). mem_addr does not need to be aligned on any particular boundary.
- _mm512_
maskz_ ⚠loadu_ epi16 avx512bw
- Load packed 16-bit integers from memory into dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set). mem_addr does not need to be aligned on any particular boundary.
- _mm512_
maskz_ madd_ epi16 avx512bw
- Multiply packed signed 16-bit integers in a and b, producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers, and pack the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ maddubs_ epi16 avx512bw
- Multiply packed unsigned 8-bit integers in a by packed signed 8-bit integers in b, producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers, and pack the saturated results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ max_ epi8 avx512bw
- Compare packed signed 8-bit integers in a and b, and store packed maximum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ max_ epi16 avx512bw
- Compare packed signed 16-bit integers in a and b, and store packed maximum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ max_ epu8 avx512bw
- Compare packed unsigned 8-bit integers in a and b, and store packed maximum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ max_ epu16 avx512bw
- Compare packed unsigned 16-bit integers in a and b, and store packed maximum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ min_ epi8 avx512bw
- Compare packed signed 8-bit integers in a and b, and store packed minimum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ min_ epi16 avx512bw
- Compare packed signed 16-bit integers in a and b, and store packed minimum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ min_ epu8 avx512bw
- Compare packed unsigned 8-bit integers in a and b, and store packed minimum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ min_ epu16 avx512bw
- Compare packed unsigned 16-bit integers in a and b, and store packed minimum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ mov_ epi8 avx512bw
- Move packed 8-bit integers from a into dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ mov_ epi16 avx512bw
- Move packed 16-bit integers from a into dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ mulhi_ epi16 avx512bw
- Multiply the packed signed 16-bit integers in a and b, producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ mulhi_ epu16 avx512bw
- Multiply the packed unsigned 16-bit integers in a and b, producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ mulhrs_ epi16 avx512bw
- Multiply packed signed 16-bit integers in a and b, producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ mullo_ epi16 avx512bw
- Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit integers, and store the low 16 bits of the intermediate integers in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ packs_ epi16 avx512bw
- Convert packed signed 16-bit integers from a and b to packed 8-bit integers using signed saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ packs_ epi32 avx512bw
- Convert packed signed 32-bit integers from a and b to packed 16-bit integers using signed saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ packus_ epi16 avx512bw
- Convert packed signed 16-bit integers from a and b to packed 8-bit integers using unsigned saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ packus_ epi32 avx512bw
- Convert packed signed 32-bit integers from a and b to packed 16-bit integers using unsigned saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ permutex2var_ epi16 avx512bw
- Shuffle 16-bit integers in a and b across lanes using the corresponding selector and index in idx, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ permutexvar_ epi16 avx512bw
- Shuffle 16-bit integers in a across lanes using the corresponding index in idx, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ set1_ epi8 avx512bw
- Broadcast 8-bit integer a to all elements of dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ set1_ epi16 avx512bw
- Broadcast the low packed 16-bit integer from a to all elements of dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ shuffle_ epi8 avx512bw
- Shuffle packed 8-bit integers in a according to shuffle control mask in the corresponding 8-bit element of b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ shufflehi_ epi16 avx512bw
- Shuffle 16-bit integers in the high 64 bits of 128-bit lanes of a using the control in imm8. Store the results in the high 64 bits of 128-bit lanes of dst, with the low 64 bits of 128-bit lanes being copied from a to dst, using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ shufflelo_ epi16 avx512bw
- Shuffle 16-bit integers in the low 64 bits of 128-bit lanes of a using the control in imm8. Store the results in the low 64 bits of 128-bit lanes of dst, with the high 64 bits of 128-bit lanes being copied from a to dst, using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ sll_ epi16 avx512bw
- Shift packed 16-bit integers in a left by count while shifting in zeros, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ slli_ epi16 avx512bw
- Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ sllv_ epi16 avx512bw
- Shift packed 16-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ sra_ epi16 avx512bw
- Shift packed 16-bit integers in a right by count while shifting in sign bits, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ srai_ epi16 avx512bw
- Shift packed 16-bit integers in a right by imm8 while shifting in sign bits, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ srav_ epi16 avx512bw
- Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ srl_ epi16 avx512bw
- Shift packed 16-bit integers in a right by count while shifting in zeros, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ srli_ epi16 avx512bw
- Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ srlv_ epi16 avx512bw
- Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ sub_ epi8 avx512bw
- Subtract packed 8-bit integers in b from packed 8-bit integers in a, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ sub_ epi16 avx512bw
- Subtract packed 16-bit integers in b from packed 16-bit integers in a, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ subs_ epi8 avx512bw
- Subtract packed signed 8-bit integers in b from packed 8-bit integers in a using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ subs_ epi16 avx512bw
- Subtract packed signed 16-bit integers in b from packed 16-bit integers in a using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ subs_ epu8 avx512bw
- Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit integers in a using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ subs_ epu16 avx512bw
- Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit integers in a using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ unpackhi_ epi8 avx512bw
- Unpack and interleave 8-bit integers from the high half of each 128-bit lane in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ unpackhi_ epi16 avx512bw
- Unpack and interleave 16-bit integers from the high half of each 128-bit lane in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ unpacklo_ epi8 avx512bw
- Unpack and interleave 8-bit integers from the low half of each 128-bit lane in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
maskz_ unpacklo_ epi16 avx512bw
- Unpack and interleave 16-bit integers from the low half of each 128-bit lane in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm512_
max_ epi8 avx512bw
- Compare packed signed 8-bit integers in a and b, and store packed maximum values in dst.
- _mm512_
max_ epi16 avx512bw
- Compare packed signed 16-bit integers in a and b, and store packed maximum values in dst.
- _mm512_
max_ epu8 avx512bw
- Compare packed unsigned 8-bit integers in a and b, and store packed maximum values in dst.
- _mm512_
max_ epu16 avx512bw
- Compare packed unsigned 16-bit integers in a and b, and store packed maximum values in dst.
- _mm512_
min_ epi8 avx512bw
- Compare packed signed 8-bit integers in a and b, and store packed minimum values in dst.
- _mm512_
min_ epi16 avx512bw
- Compare packed signed 16-bit integers in a and b, and store packed minimum values in dst.
- _mm512_
min_ epu8 avx512bw
- Compare packed unsigned 8-bit integers in a and b, and store packed minimum values in dst.
- _mm512_
min_ epu16 avx512bw
- Compare packed unsigned 16-bit integers in a and b, and store packed minimum values in dst.
- _mm512_
movepi8_ mask avx512bw
- Set each bit of mask register k based on the most significant bit of the corresponding packed 8-bit integer in a.
- _mm512_
movepi16_ mask avx512bw
- Set each bit of mask register k based on the most significant bit of the corresponding packed 16-bit integer in a.
- _mm512_
movm_ epi8 avx512bw
- Set each packed 8-bit integer in dst to all ones or all zeros based on the value of the corresponding bit in k.
- _mm512_
movm_ epi16 avx512bw
- Set each packed 16-bit integer in dst to all ones or all zeros based on the value of the corresponding bit in k.
- _mm512_
mulhi_ epi16 avx512bw
- Multiply the packed signed 16-bit integers in a and b, producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in dst.
- _mm512_
mulhi_ epu16 avx512bw
- Multiply the packed unsigned 16-bit integers in a and b, producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in dst.
- _mm512_
mulhrs_ epi16 avx512bw
- Multiply packed signed 16-bit integers in a and b, producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to dst.
- _mm512_
mullo_ epi16 avx512bw
- Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit integers, and store the low 16 bits of the intermediate integers in dst.
- _mm512_
packs_ epi16 avx512bw
- Convert packed signed 16-bit integers from a and b to packed 8-bit integers using signed saturation, and store the results in dst.
- _mm512_
packs_ epi32 avx512bw
- Convert packed signed 32-bit integers from a and b to packed 16-bit integers using signed saturation, and store the results in dst.
- _mm512_
packus_ epi16 avx512bw
- Convert packed signed 16-bit integers from a and b to packed 8-bit integers using unsigned saturation, and store the results in dst.
- _mm512_
packus_ epi32 avx512bw
- Convert packed signed 32-bit integers from a and b to packed 16-bit integers using unsigned saturation, and store the results in dst.
- _mm512_
permutex2var_ epi16 avx512bw
- Shuffle 16-bit integers in a and b across lanes using the corresponding selector and index in idx, and store the results in dst.
- _mm512_
permutexvar_ epi16 avx512bw
- Shuffle 16-bit integers in a across lanes using the corresponding index in idx, and store the results in dst.
- _mm512_
sad_ epu8 avx512bw
- Compute the absolute differences of packed unsigned 8-bit integers in a and b, then horizontally sum each consecutive 8 differences to produce eight unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low 16 bits of 64-bit elements in dst.
- _mm512_
shuffle_ epi8 avx512bw
- Shuffle packed 8-bit integers in a according to shuffle control mask in the corresponding 8-bit element of b, and store the results in dst.
- _mm512_
shufflehi_ epi16 avx512bw
- Shuffle 16-bit integers in the high 64 bits of 128-bit lanes of a using the control in imm8. Store the results in the high 64 bits of 128-bit lanes of dst, with the low 64 bits of 128-bit lanes being copied from a to dst.
- _mm512_
shufflelo_ epi16 avx512bw
- Shuffle 16-bit integers in the low 64 bits of 128-bit lanes of a using the control in imm8. Store the results in the low 64 bits of 128-bit lanes of dst, with the high 64 bits of 128-bit lanes being copied from a to dst.
- _mm512_
sll_ epi16 avx512bw
- Shift packed 16-bit integers in a left by count while shifting in zeros, and store the results in dst.
- _mm512_
slli_ epi16 avx512bw
- Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and store the results in dst.
- _mm512_
sllv_ epi16 avx512bw
- Shift packed 16-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and store the results in dst.
- _mm512_
sra_ epi16 avx512bw
- Shift packed 16-bit integers in a right by count while shifting in sign bits, and store the results in dst.
- _mm512_
srai_ epi16 avx512bw
- Shift packed 16-bit integers in a right by imm8 while shifting in sign bits, and store the results in dst.
- _mm512_
srav_ epi16 avx512bw
- Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and store the results in dst.
- _mm512_
srl_ epi16 avx512bw
- Shift packed 16-bit integers in a right by count while shifting in zeros, and store the results in dst.
- _mm512_
srli_ epi16 avx512bw
- Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and store the results in dst.
- _mm512_
srlv_ epi16 avx512bw
- Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and store the results in dst.
- _mm512_
storeu_ ⚠epi8 avx512bw
- Store 512-bits (composed of 64 packed 8-bit integers) from a into memory. mem_addr does not need to be aligned on any particular boundary.
- _mm512_
storeu_ ⚠epi16 avx512bw
- Store 512-bits (composed of 32 packed 16-bit integers) from a into memory. mem_addr does not need to be aligned on any particular boundary.
- _mm512_
sub_ epi8 avx512bw
- Subtract packed 8-bit integers in b from packed 8-bit integers in a, and store the results in dst.
- _mm512_
sub_ epi16 avx512bw
- Subtract packed 16-bit integers in b from packed 16-bit integers in a, and store the results in dst.
- _mm512_
subs_ epi8 avx512bw
- Subtract packed signed 8-bit integers in b from packed 8-bit integers in a using saturation, and store the results in dst.
- _mm512_
subs_ epi16 avx512bw
- Subtract packed signed 16-bit integers in b from packed 16-bit integers in a using saturation, and store the results in dst.
- _mm512_
subs_ epu8 avx512bw
- Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit integers in a using saturation, and store the results in dst.
- _mm512_
subs_ epu16 avx512bw
- Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit integers in a using saturation, and store the results in dst.
- _mm512_
test_ epi8_ mask avx512bw
- Compute the bitwise AND of packed 8-bit integers in a and b, producing intermediate 8-bit values, and set the corresponding bit in result mask k if the intermediate value is non-zero.
- _mm512_
test_ epi16_ mask avx512bw
- Compute the bitwise AND of packed 16-bit integers in a and b, producing intermediate 16-bit values, and set the corresponding bit in result mask k if the intermediate value is non-zero.
- _mm512_
testn_ epi8_ mask avx512bw
- Compute the bitwise NAND of packed 8-bit integers in a and b, producing intermediate 8-bit values, and set the corresponding bit in result mask k if the intermediate value is zero.
- _mm512_
testn_ epi16_ mask avx512bw
- Compute the bitwise NAND of packed 16-bit integers in a and b, producing intermediate 16-bit values, and set the corresponding bit in result mask k if the intermediate value is zero.
- _mm512_
unpackhi_ epi8 avx512bw
- Unpack and interleave 8-bit integers from the high half of each 128-bit lane in a and b, and store the results in dst.
- _mm512_
unpackhi_ epi16 avx512bw
- Unpack and interleave 16-bit integers from the high half of each 128-bit lane in a and b, and store the results in dst.
- _mm512_
unpacklo_ epi8 avx512bw
- Unpack and interleave 8-bit integers from the low half of each 128-bit lane in a and b, and store the results in dst.
- _mm512_
unpacklo_ epi16 avx512bw
- Unpack and interleave 16-bit integers from the low half of each 128-bit lane in a and b, and store the results in dst.
- _mm_
cmp_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k.
- _mm_
cmp_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k.
- _mm_
cmp_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k.
- _mm_
cmp_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k.
- _mm_
cmpeq_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for equality, and store the results in mask vector k.
- _mm_
cmpeq_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for equality, and store the results in mask vector k.
- _mm_
cmpeq_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for equality, and store the results in mask vector k.
- _mm_
cmpeq_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for equality, and store the results in mask vector k.
- _mm_
cmpge_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k.
- _mm_
cmpge_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k.
- _mm_
cmpge_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k.
- _mm_
cmpge_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k.
- _mm_
cmpgt_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for greater-than, and store the results in mask vector k.
- _mm_
cmpgt_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for greater-than, and store the results in mask vector k.
- _mm_
cmpgt_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for greater-than, and store the results in mask vector k.
- _mm_
cmpgt_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for greater-than, and store the results in mask vector k.
- _mm_
cmple_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for less-than-or-equal, and store the results in mask vector k.
- _mm_
cmple_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for less-than-or-equal, and store the results in mask vector k.
- _mm_
cmple_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for less-than-or-equal, and store the results in mask vector k.
- _mm_
cmple_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for less-than-or-equal, and store the results in mask vector k.
- _mm_
cmplt_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for less-than, and store the results in mask vector k.
- _mm_
cmplt_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for less-than, and store the results in mask vector k.
- _mm_
cmplt_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for less-than, and store the results in mask vector k.
- _mm_
cmplt_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for less-than, and store the results in mask vector k.
- _mm_
cmpneq_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for not-equal, and store the results in mask vector k.
- _mm_
cmpneq_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for not-equal, and store the results in mask vector k.
- _mm_
cmpneq_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for not-equal, and store the results in mask vector k.
- _mm_
cmpneq_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for not-equal, and store the results in mask vector k.
- _mm_
cvtepi16_ epi8 avx512bw
andavx512vl
- Convert packed 16-bit integers in a to packed 8-bit integers with truncation, and store the results in dst.
- _mm_
cvtsepi16_ epi8 avx512bw
andavx512vl
- Convert packed signed 16-bit integers in a to packed 8-bit integers with signed saturation, and store the results in dst.
- _mm_
cvtusepi16_ epi8 avx512bw
andavx512vl
- Convert packed unsigned 16-bit integers in a to packed unsigned 8-bit integers with unsigned saturation, and store the results in dst.
- _mm_
dbsad_ epu8 avx512bw
andavx512vl
- Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in a compared to those in b, and store the 16-bit results in dst. Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from a, and the last two SADs use the uppper 8-bit quadruplet of the lane from a. Quadruplets from b are selected from within 128-bit lanes according to the control in imm8, and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.
- _mm_
loadu_ ⚠epi8 avx512bw
andavx512vl
- Load 128-bits (composed of 16 packed 8-bit integers) from memory into dst. mem_addr does not need to be aligned on any particular boundary.
- _mm_
loadu_ ⚠epi16 avx512bw
andavx512vl
- Load 128-bits (composed of 8 packed 16-bit integers) from memory into dst. mem_addr does not need to be aligned on any particular boundary.
- _mm_
mask2_ permutex2var_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in a and b across lanes using the corresponding selector and index in idx, and store the results in dst using writemask k (elements are copied from idx when the corresponding mask bit is not set).
- _mm_
mask_ abs_ epi8 avx512bw
andavx512vl
- Compute the absolute value of packed signed 8-bit integers in a, and store the unsigned results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set)
- _mm_
mask_ abs_ epi16 avx512bw
andavx512vl
- Compute the absolute value of packed signed 16-bit integers in a, and store the unsigned results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ add_ epi8 avx512bw
andavx512vl
- Add packed 8-bit integers in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ add_ epi16 avx512bw
andavx512vl
- Add packed 16-bit integers in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ adds_ epi8 avx512bw
andavx512vl
- Add packed signed 8-bit integers in a and b using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ adds_ epi16 avx512bw
andavx512vl
- Add packed signed 16-bit integers in a and b using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ adds_ epu8 avx512bw
andavx512vl
- Add packed unsigned 8-bit integers in a and b using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ adds_ epu16 avx512bw
andavx512vl
- Add packed unsigned 16-bit integers in a and b using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ alignr_ epi8 avx512bw
andavx512vl
- Concatenate pairs of 16-byte blocks in a and b into a 32-byte temporary result, shift the result right by imm8 bytes, and store the low 16 bytes in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ avg_ epu8 avx512bw
andavx512vl
- Average packed unsigned 8-bit integers in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ avg_ epu16 avx512bw
andavx512vl
- Average packed unsigned 16-bit integers in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ blend_ epi8 avx512bw
andavx512vl
- Blend packed 8-bit integers from a and b using control mask k, and store the results in dst.
- _mm_
mask_ blend_ epi16 avx512bw
andavx512vl
- Blend packed 16-bit integers from a and b using control mask k, and store the results in dst.
- _mm_
mask_ broadcastb_ epi8 avx512bw
andavx512vl
- Broadcast the low packed 8-bit integer from a to all elements of dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ broadcastw_ epi16 avx512bw
andavx512vl
- Broadcast the low packed 16-bit integer from a to all elements of dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ cmp_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmp_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmp_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmp_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b based on the comparison operand specified by imm8, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmpeq_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for equality, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmpeq_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for equality, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmpeq_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for equality, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmpeq_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for equality, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmpge_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmpge_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmpge_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmpge_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for greater-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmpgt_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for greater-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmpgt_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for greater-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmpgt_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for greater-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmpgt_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for greater-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmple_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for less-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmple_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for less-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmple_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for less-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmple_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for less-than-or-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmplt_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for less-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmplt_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for less-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmplt_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for less-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmplt_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for less-than, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmpneq_ epi8_ mask avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b for not-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmpneq_ epi16_ mask avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b for not-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmpneq_ epu8_ mask avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b for not-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cmpneq_ epu16_ mask avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b for not-equal, and store the results in mask vector k using zeromask k1 (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
mask_ cvtepi8_ epi16 avx512bw
andavx512vl
- Sign extend packed 8-bit integers in a to packed 16-bit integers, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ cvtepi16_ epi8 avx512bw
andavx512vl
- Convert packed 16-bit integers in a to packed 8-bit integers with truncation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ ⚠cvtepi16_ storeu_ epi8 avx512bw
andavx512vl
- Convert packed 16-bit integers in a to packed 8-bit integers with truncation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.
- _mm_
mask_ cvtepu8_ epi16 avx512bw
andavx512vl
- Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ cvtsepi16_ epi8 avx512bw
andavx512vl
- Convert packed signed 16-bit integers in a to packed 8-bit integers with signed saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ ⚠cvtsepi16_ storeu_ epi8 avx512bw
andavx512vl
- Convert packed signed 16-bit integers in a to packed 8-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.
- _mm_
mask_ cvtusepi16_ epi8 avx512bw
andavx512vl
- Convert packed unsigned 16-bit integers in a to packed unsigned 8-bit integers with unsigned saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ ⚠cvtusepi16_ storeu_ epi8 avx512bw
andavx512vl
- Convert packed unsigned 16-bit integers in a to packed unsigned 8-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.
- _mm_
mask_ dbsad_ epu8 avx512bw
andavx512vl
- Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in a compared to those in b, and store the 16-bit results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set). Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from a, and the last two SADs use the uppper 8-bit quadruplet of the lane from a. Quadruplets from b are selected from within 128-bit lanes according to the control in imm8, and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.
- _mm_
mask_ ⚠loadu_ epi8 avx512bw
andavx512vl
- Load packed 8-bit integers from memory into dst using writemask k (elements are copied from src when the corresponding mask bit is not set). mem_addr does not need to be aligned on any particular boundary.
- _mm_
mask_ ⚠loadu_ epi16 avx512bw
andavx512vl
- Load packed 16-bit integers from memory into dst using writemask k (elements are copied from src when the corresponding mask bit is not set). mem_addr does not need to be aligned on any particular boundary.
- _mm_
mask_ madd_ epi16 avx512bw
andavx512vl
- Multiply packed signed 16-bit integers in a and b, producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers, and pack the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ maddubs_ epi16 avx512bw
andavx512vl
- Multiply packed unsigned 8-bit integers in a by packed signed 8-bit integers in b, producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers, and pack the saturated results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ max_ epi8 avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b, and store packed maximum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ max_ epi16 avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b, and store packed maximum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ max_ epu8 avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b, and store packed maximum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ max_ epu16 avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b, and store packed maximum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ min_ epi8 avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b, and store packed minimum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ min_ epi16 avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b, and store packed minimum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ min_ epu8 avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b, and store packed minimum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ min_ epu16 avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b, and store packed minimum values in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ mov_ epi8 avx512bw
andavx512vl
- Move packed 8-bit integers from a into dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ mov_ epi16 avx512bw
andavx512vl
- Move packed 16-bit integers from a into dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ mulhi_ epi16 avx512bw
andavx512vl
- Multiply the packed signed 16-bit integers in a and b, producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ mulhi_ epu16 avx512bw
andavx512vl
- Multiply the packed unsigned 16-bit integers in a and b, producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ mulhrs_ epi16 avx512bw
andavx512vl
- Multiply packed signed 16-bit integers in a and b, producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ mullo_ epi16 avx512bw
andavx512vl
- Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit integers, and store the low 16 bits of the intermediate integers in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ packs_ epi16 avx512bw
andavx512vl
- Convert packed signed 16-bit integers from a and b to packed 8-bit integers using signed saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ packs_ epi32 avx512bw
andavx512vl
- Convert packed signed 32-bit integers from a and b to packed 16-bit integers using signed saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ packus_ epi16 avx512bw
andavx512vl
- Convert packed signed 16-bit integers from a and b to packed 8-bit integers using unsigned saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ packus_ epi32 avx512bw
andavx512vl
- Convert packed signed 32-bit integers from a and b to packed 16-bit integers using unsigned saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ permutex2var_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in a and b across lanes using the corresponding selector and index in idx, and store the results in dst using writemask k (elements are copied from a when the corresponding mask bit is not set).
- _mm_
mask_ permutexvar_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in a across lanes using the corresponding index in idx, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ reduce_ add_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by addition using mask k. Returns the sum of all active elements in a.
- _mm_
mask_ reduce_ add_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by addition using mask k. Returns the sum of all active elements in a.
- _mm_
mask_ reduce_ and_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by bitwise AND using mask k. Returns the bitwise AND of all active elements in a.
- _mm_
mask_ reduce_ and_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by bitwise AND using mask k. Returns the bitwise AND of all active elements in a.
- _mm_
mask_ reduce_ max_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by maximum using mask k. Returns the maximum of all active elements in a.
- _mm_
mask_ reduce_ max_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by maximum using mask k. Returns the maximum of all active elements in a.
- _mm_
mask_ reduce_ max_ epu8 avx512bw
andavx512vl
- Reduce the packed unsigned 8-bit integers in a by maximum using mask k. Returns the maximum of all active elements in a.
- _mm_
mask_ reduce_ max_ epu16 avx512bw
andavx512vl
- Reduce the packed unsigned 16-bit integers in a by maximum using mask k. Returns the maximum of all active elements in a.
- _mm_
mask_ reduce_ min_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by minimum using mask k. Returns the minimum of all active elements in a.
- _mm_
mask_ reduce_ min_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by minimum using mask k. Returns the minimum of all active elements in a.
- _mm_
mask_ reduce_ min_ epu8 avx512bw
andavx512vl
- Reduce the packed unsigned 8-bit integers in a by minimum using mask k. Returns the minimum of all active elements in a.
- _mm_
mask_ reduce_ min_ epu16 avx512bw
andavx512vl
- Reduce the packed unsigned 16-bit integers in a by minimum using mask k. Returns the minimum of all active elements in a.
- _mm_
mask_ reduce_ mul_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by multiplication using mask k. Returns the product of all active elements in a.
- _mm_
mask_ reduce_ mul_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by multiplication using mask k. Returns the product of all active elements in a.
- _mm_
mask_ reduce_ or_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by bitwise OR using mask k. Returns the bitwise OR of all active elements in a.
- _mm_
mask_ reduce_ or_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by bitwise OR using mask k. Returns the bitwise OR of all active elements in a.
- _mm_
mask_ set1_ epi8 avx512bw
andavx512vl
- Broadcast 8-bit integer a to all elements of dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ set1_ epi16 avx512bw
andavx512vl
- Broadcast 16-bit integer a to all elements of dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ shuffle_ epi8 avx512bw
andavx512vl
- Shuffle 8-bit integers in a within 128-bit lanes using the control in the corresponding 8-bit element of b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ shufflehi_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in the high 64 bits of 128-bit lanes of a using the control in imm8. Store the results in the high 64 bits of 128-bit lanes of dst, with the low 64 bits of 128-bit lanes being copied from a to dst, using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ shufflelo_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in the low 64 bits of 128-bit lanes of a using the control in imm8. Store the results in the low 64 bits of 128-bit lanes of dst, with the high 64 bits of 128-bit lanes being copied from a to dst, using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ sll_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a left by count while shifting in zeros, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ slli_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ sllv_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ sra_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by count while shifting in sign bits, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ srai_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by imm8 while shifting in sign bits, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ srav_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ srl_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by count while shifting in zeros, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ srli_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ srlv_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ ⚠storeu_ epi8 avx512bw
andavx512vl
- Store packed 8-bit integers from a into memory using writemask k. mem_addr does not need to be aligned on any particular boundary.
- _mm_
mask_ ⚠storeu_ epi16 avx512bw
andavx512vl
- Store packed 16-bit integers from a into memory using writemask k. mem_addr does not need to be aligned on any particular boundary.
- _mm_
mask_ sub_ epi8 avx512bw
andavx512vl
- Subtract packed 8-bit integers in b from packed 8-bit integers in a, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ sub_ epi16 avx512bw
andavx512vl
- Subtract packed 16-bit integers in b from packed 16-bit integers in a, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ subs_ epi8 avx512bw
andavx512vl
- Subtract packed signed 8-bit integers in b from packed 8-bit integers in a using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ subs_ epi16 avx512bw
andavx512vl
- Subtract packed signed 16-bit integers in b from packed 16-bit integers in a using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ subs_ epu8 avx512bw
andavx512vl
- Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit integers in a using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ subs_ epu16 avx512bw
andavx512vl
- Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit integers in a using saturation, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ test_ epi8_ mask avx512bw
andavx512vl
- Compute the bitwise AND of packed 8-bit integers in a and b, producing intermediate 8-bit values, and set the corresponding bit in result mask k (subject to writemask k) if the intermediate value is non-zero.
- _mm_
mask_ test_ epi16_ mask avx512bw
andavx512vl
- Compute the bitwise AND of packed 16-bit integers in a and b, producing intermediate 16-bit values, and set the corresponding bit in result mask k (subject to writemask k) if the intermediate value is non-zero.
- _mm_
mask_ testn_ epi8_ mask avx512bw
andavx512vl
- Compute the bitwise NAND of packed 8-bit integers in a and b, producing intermediate 8-bit values, and set the corresponding bit in result mask k (subject to writemask k) if the intermediate value is zero.
- _mm_
mask_ testn_ epi16_ mask avx512bw
andavx512vl
- Compute the bitwise NAND of packed 16-bit integers in a and b, producing intermediate 16-bit values, and set the corresponding bit in result mask k (subject to writemask k) if the intermediate value is zero.
- _mm_
mask_ unpackhi_ epi8 avx512bw
andavx512vl
- Unpack and interleave 8-bit integers from the high half of each 128-bit lane in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ unpackhi_ epi16 avx512bw
andavx512vl
- Unpack and interleave 16-bit integers from the high half of each 128-bit lane in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ unpacklo_ epi8 avx512bw
andavx512vl
- Unpack and interleave 8-bit integers from the low half of each 128-bit lane in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
mask_ unpacklo_ epi16 avx512bw
andavx512vl
- Unpack and interleave 16-bit integers from the low half of each 128-bit lane in a and b, and store the results in dst using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
maskz_ abs_ epi8 avx512bw
andavx512vl
- Compute the absolute value of packed signed 8-bit integers in a, and store the unsigned results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ abs_ epi16 avx512bw
andavx512vl
- Compute the absolute value of packed signed 16-bit integers in a, and store the unsigned results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ add_ epi8 avx512bw
andavx512vl
- Add packed 8-bit integers in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ add_ epi16 avx512bw
andavx512vl
- Add packed 16-bit integers in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ adds_ epi8 avx512bw
andavx512vl
- Add packed signed 8-bit integers in a and b using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ adds_ epi16 avx512bw
andavx512vl
- Add packed signed 16-bit integers in a and b using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ adds_ epu8 avx512bw
andavx512vl
- Add packed unsigned 8-bit integers in a and b using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ adds_ epu16 avx512bw
andavx512vl
- Add packed unsigned 16-bit integers in a and b using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ alignr_ epi8 avx512bw
andavx512vl
- Concatenate pairs of 16-byte blocks in a and b into a 32-byte temporary result, shift the result right by imm8 bytes, and store the low 16 bytes in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ avg_ epu8 avx512bw
andavx512vl
- Average packed unsigned 8-bit integers in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ avg_ epu16 avx512bw
andavx512vl
- Average packed unsigned 16-bit integers in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ broadcastb_ epi8 avx512bw
andavx512vl
- Broadcast the low packed 8-bit integer from a to all elements of dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ broadcastw_ epi16 avx512bw
andavx512vl
- Broadcast the low packed 16-bit integer from a to all elements of dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ cvtepi8_ epi16 avx512bw
andavx512vl
- Sign extend packed 8-bit integers in a to packed 16-bit integers, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ cvtepi16_ epi8 avx512bw
andavx512vl
- Convert packed 16-bit integers in a to packed 8-bit integers with truncation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ cvtepu8_ epi16 avx512bw
andavx512vl
- Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ cvtsepi16_ epi8 avx512bw
andavx512vl
- Convert packed signed 16-bit integers in a to packed 8-bit integers with signed saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ cvtusepi16_ epi8 avx512bw
andavx512vl
- Convert packed unsigned 16-bit integers in a to packed unsigned 8-bit integers with unsigned saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ dbsad_ epu8 avx512bw
andavx512vl
- Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in a compared to those in b, and store the 16-bit results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set). Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from a, and the last two SADs use the uppper 8-bit quadruplet of the lane from a. Quadruplets from b are selected from within 128-bit lanes according to the control in imm8, and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.
- _mm_
maskz_ ⚠loadu_ epi8 avx512bw
andavx512vl
- Load packed 8-bit integers from memory into dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set). mem_addr does not need to be aligned on any particular boundary.
- _mm_
maskz_ ⚠loadu_ epi16 avx512bw
andavx512vl
- Load packed 16-bit integers from memory into dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set). mem_addr does not need to be aligned on any particular boundary.
- _mm_
maskz_ madd_ epi16 avx512bw
andavx512vl
- Multiply packed signed 16-bit integers in a and b, producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers, and pack the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ maddubs_ epi16 avx512bw
andavx512vl
- Multiply packed unsigned 8-bit integers in a by packed signed 8-bit integers in b, producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers, and pack the saturated results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ max_ epi8 avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b, and store packed maximum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ max_ epi16 avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b, and store packed maximum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ max_ epu8 avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b, and store packed maximum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ max_ epu16 avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b, and store packed maximum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ min_ epi8 avx512bw
andavx512vl
- Compare packed signed 8-bit integers in a and b, and store packed minimum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ min_ epi16 avx512bw
andavx512vl
- Compare packed signed 16-bit integers in a and b, and store packed minimum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ min_ epu8 avx512bw
andavx512vl
- Compare packed unsigned 8-bit integers in a and b, and store packed minimum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ min_ epu16 avx512bw
andavx512vl
- Compare packed unsigned 16-bit integers in a and b, and store packed minimum values in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ mov_ epi8 avx512bw
andavx512vl
- Move packed 8-bit integers from a into dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ mov_ epi16 avx512bw
andavx512vl
- Move packed 16-bit integers from a into dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ mulhi_ epi16 avx512bw
andavx512vl
- Multiply the packed signed 16-bit integers in a and b, producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ mulhi_ epu16 avx512bw
andavx512vl
- Multiply the packed unsigned 16-bit integers in a and b, producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ mulhrs_ epi16 avx512bw
andavx512vl
- Multiply packed signed 16-bit integers in a and b, producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ mullo_ epi16 avx512bw
andavx512vl
- Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit integers, and store the low 16 bits of the intermediate integers in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ packs_ epi16 avx512bw
andavx512vl
- Convert packed signed 16-bit integers from a and b to packed 8-bit integers using signed saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ packs_ epi32 avx512bw
andavx512vl
- Convert packed signed 32-bit integers from a and b to packed 16-bit integers using signed saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ packus_ epi16 avx512bw
andavx512vl
- Convert packed signed 16-bit integers from a and b to packed 8-bit integers using unsigned saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ packus_ epi32 avx512bw
andavx512vl
- Convert packed signed 32-bit integers from a and b to packed 16-bit integers using unsigned saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ permutex2var_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in a and b across lanes using the corresponding selector and index in idx, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ permutexvar_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in a across lanes using the corresponding index in idx, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ set1_ epi8 avx512bw
andavx512vl
- Broadcast 8-bit integer a to all elements of dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ set1_ epi16 avx512bw
andavx512vl
- Broadcast the low packed 16-bit integer from a to all elements of dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ shuffle_ epi8 avx512bw
andavx512vl
- Shuffle packed 8-bit integers in a according to shuffle control mask in the corresponding 8-bit element of b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ shufflehi_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in the high 64 bits of 128-bit lanes of a using the control in imm8. Store the results in the high 64 bits of 128-bit lanes of dst, with the low 64 bits of 128-bit lanes being copied from a to dst, using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ shufflelo_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in the low 64 bits of 128-bit lanes of a using the control in imm8. Store the results in the low 64 bits of 128-bit lanes of dst, with the high 64 bits of 128-bit lanes being copied from a to dst, using writemask k (elements are copied from src when the corresponding mask bit is not set).
- _mm_
maskz_ sll_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a left by count while shifting in zeros, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ slli_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ sllv_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ sra_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by count while shifting in sign bits, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ srai_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by imm8 while shifting in sign bits, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ srav_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ srl_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by count while shifting in zeros, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ srli_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ srlv_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ sub_ epi8 avx512bw
andavx512vl
- Subtract packed 8-bit integers in b from packed 8-bit integers in a, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ sub_ epi16 avx512bw
andavx512vl
- Subtract packed 16-bit integers in b from packed 16-bit integers in a, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ subs_ epi8 avx512bw
andavx512vl
- Subtract packed signed 8-bit integers in b from packed 8-bit integers in a using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ subs_ epi16 avx512bw
andavx512vl
- Subtract packed signed 16-bit integers in b from packed 16-bit integers in a using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ subs_ epu8 avx512bw
andavx512vl
- Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit integers in a using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ subs_ epu16 avx512bw
andavx512vl
- Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit integers in a using saturation, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ unpackhi_ epi8 avx512bw
andavx512vl
- Unpack and interleave 8-bit integers from the high half of each 128-bit lane in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ unpackhi_ epi16 avx512bw
andavx512vl
- Unpack and interleave 16-bit integers from the high half of each 128-bit lane in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ unpacklo_ epi8 avx512bw
andavx512vl
- Unpack and interleave 8-bit integers from the low half of each 128-bit lane in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
maskz_ unpacklo_ epi16 avx512bw
andavx512vl
- Unpack and interleave 16-bit integers from the low half of each 128-bit lane in a and b, and store the results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).
- _mm_
movepi8_ mask avx512bw
andavx512vl
- Set each bit of mask register k based on the most significant bit of the corresponding packed 8-bit integer in a.
- _mm_
movepi16_ mask avx512bw
andavx512vl
- Set each bit of mask register k based on the most significant bit of the corresponding packed 16-bit integer in a.
- _mm_
movm_ epi8 avx512bw
andavx512vl
- Set each packed 8-bit integer in dst to all ones or all zeros based on the value of the corresponding bit in k.
- _mm_
movm_ epi16 avx512bw
andavx512vl
- Set each packed 16-bit integer in dst to all ones or all zeros based on the value of the corresponding bit in k.
- _mm_
permutex2var_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in a and b across lanes using the corresponding selector and index in idx, and store the results in dst.
- _mm_
permutexvar_ epi16 avx512bw
andavx512vl
- Shuffle 16-bit integers in a across lanes using the corresponding index in idx, and store the results in dst.
- _mm_
reduce_ add_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by addition. Returns the sum of all elements in a.
- _mm_
reduce_ add_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by addition. Returns the sum of all elements in a.
- _mm_
reduce_ and_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by bitwise AND. Returns the bitwise AND of all elements in a.
- _mm_
reduce_ and_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by bitwise AND. Returns the bitwise AND of all elements in a.
- _mm_
reduce_ max_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by maximum. Returns the maximum of all elements in a.
- _mm_
reduce_ max_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by maximum. Returns the maximum of all elements in a.
- _mm_
reduce_ max_ epu8 avx512bw
andavx512vl
- Reduce the packed unsigned 8-bit integers in a by maximum. Returns the maximum of all elements in a.
- _mm_
reduce_ max_ epu16 avx512bw
andavx512vl
- Reduce the packed unsigned 16-bit integers in a by maximum. Returns the maximum of all elements in a.
- _mm_
reduce_ min_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by minimum. Returns the minimum of all elements in a.
- _mm_
reduce_ min_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by minimum. Returns the minimum of all elements in a.
- _mm_
reduce_ min_ epu8 avx512bw
andavx512vl
- Reduce the packed unsigned 8-bit integers in a by minimum. Returns the minimum of all elements in a.
- _mm_
reduce_ min_ epu16 avx512bw
andavx512vl
- Reduce the packed unsigned 16-bit integers in a by minimum. Returns the minimum of all elements in a.
- _mm_
reduce_ mul_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by multiplication. Returns the product of all elements in a.
- _mm_
reduce_ mul_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by multiplication. Returns the product of all elements in a.
- _mm_
reduce_ or_ epi8 avx512bw
andavx512vl
- Reduce the packed 8-bit integers in a by bitwise OR. Returns the bitwise OR of all elements in a.
- _mm_
reduce_ or_ epi16 avx512bw
andavx512vl
- Reduce the packed 16-bit integers in a by bitwise OR. Returns the bitwise OR of all elements in a.
- _mm_
sllv_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and store the results in dst.
- _mm_
srav_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and store the results in dst.
- _mm_
srlv_ epi16 avx512bw
andavx512vl
- Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and store the results in dst.
- _mm_
storeu_ ⚠epi8 avx512bw
andavx512vl
- Store 128-bits (composed of 16 packed 8-bit integers) from a into memory. mem_addr does not need to be aligned on any particular boundary.
- _mm_
storeu_ ⚠epi16 avx512bw
andavx512vl
- Store 128-bits (composed of 8 packed 16-bit integers) from a into memory. mem_addr does not need to be aligned on any particular boundary.
- _mm_
test_ epi8_ mask avx512bw
andavx512vl
- Compute the bitwise AND of packed 8-bit integers in a and b, producing intermediate 8-bit values, and set the corresponding bit in result mask k if the intermediate value is non-zero.
- _mm_
test_ epi16_ mask avx512bw
andavx512vl
- Compute the bitwise AND of packed 16-bit integers in a and b, producing intermediate 16-bit values, and set the corresponding bit in result mask k if the intermediate value is non-zero.
- _mm_
testn_ epi8_ mask avx512bw
andavx512vl
- Compute the bitwise NAND of packed 8-bit integers in a and b, producing intermediate 8-bit values, and set the corresponding bit in result mask k if the intermediate value is zero.
- _mm_
testn_ epi16_ mask avx512bw
andavx512vl
- Compute the bitwise NAND of packed 16-bit integers in a and b, producing intermediate 16-bit values, and set the corresponding bit in result mask k if the intermediate value is zero.
- _store_
mask32 ⚠avx512bw
- Store 32-bit mask from a into memory.
- _store_
mask64 ⚠avx512bw
- Store 64-bit mask from a into memory.
- loaddqu8_
128 🔒 ⚠ - loaddqu8_
256 🔒 ⚠ - loaddqu8_
512 🔒 ⚠ - loaddqu16_
128 🔒 ⚠ - loaddqu16_
256 🔒 ⚠ - loaddqu16_
512 🔒 ⚠ - storedqu8_
128 🔒 ⚠ - storedqu8_
256 🔒 ⚠ - storedqu8_
512 🔒 ⚠ - storedqu16_
128 🔒 ⚠ - storedqu16_
256 🔒 ⚠ - storedqu16_
512 🔒 ⚠ - vdbpsadbw 🔒 ⚠
- vdbpsadbw128 🔒 ⚠
- vdbpsadbw256 🔒 ⚠
- vpackssdw 🔒 ⚠
- vpacksswb 🔒 ⚠
- vpackusdw 🔒 ⚠
- vpackuswb 🔒 ⚠
- vpermi2w 🔒 ⚠
- vpermi2w128 🔒 ⚠
- vpermi2w256 🔒 ⚠
- vpermw 🔒 ⚠
- vpermw128 🔒 ⚠
- vpermw256 🔒 ⚠
- vpmaddubsw 🔒 ⚠
- vpmaddwd 🔒 ⚠
- vpmovswb 🔒 ⚠
- vpmovswb128 🔒 ⚠
- vpmovswb256 🔒 ⚠
- vpmovswbmem 🔒 ⚠
- vpmovswbmem128 🔒 ⚠
- vpmovswbmem256 🔒 ⚠
- vpmovuswb 🔒 ⚠
- vpmovuswb128 🔒 ⚠
- vpmovuswb256 🔒 ⚠
- vpmovuswbmem 🔒 ⚠
- vpmovuswbmem128 🔒 ⚠
- vpmovuswbmem256 🔒 ⚠
- vpmovwbmem 🔒 ⚠
- vpmovwbmem128 🔒 ⚠
- vpmovwbmem256 🔒 ⚠
- vpmulhrsw 🔒 ⚠
- vpsadbw 🔒 ⚠
- vpshufb 🔒 ⚠
- vpsllvw 🔒 ⚠
- vpsllvw128 🔒 ⚠
- vpsllvw256 🔒 ⚠
- vpsllw 🔒 ⚠
- vpsravw 🔒 ⚠
- vpsravw128 🔒 ⚠
- vpsravw256 🔒 ⚠
- vpsraw 🔒 ⚠
- vpsrlvw 🔒 ⚠
- vpsrlvw128 🔒 ⚠
- vpsrlvw256 🔒 ⚠
- vpsrlw 🔒 ⚠