🔬This is a nightly-only experimental API. (
stdsimd #48556)Available on x86 or x86-64 only.
Expand description
Advanced Vector Extensions 2 (AVX)
AVX2 expands most AVX commands to 256-bit wide vector registers and adds FMA.
The references are:
- Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 2: Instruction Set Reference, A-Z.
- AMD64 Architecture Programmer’s Manual, Volume 3: General-Purpose and System Instructions.
Wikipedia’s AVX and FMA pages provide a quick overview of the instructions available.
Functions
- _mm256_abs_epi8⚠
avx2Computes the absolute values of packed 8-bit integers ina. - _mm256_abs_epi16⚠
avx2Computes the absolute values of packed 16-bit integers ina. - _mm256_abs_epi32⚠
avx2Computes the absolute values of packed 32-bit integers ina. - _mm256_add_epi8⚠
avx2Adds packed 8-bit integers inaandb. - _mm256_add_epi16⚠
avx2Adds packed 16-bit integers inaandb. - _mm256_add_epi32⚠
avx2Adds packed 32-bit integers inaandb. - _mm256_add_epi64⚠
avx2Adds packed 64-bit integers inaandb. - _mm256_adds_epi8⚠
avx2Adds packed 8-bit integers inaandbusing saturation. - _mm256_adds_epi16⚠
avx2Adds packed 16-bit integers inaandbusing saturation. - _mm256_adds_epu8⚠
avx2Adds packed unsigned 8-bit integers inaandbusing saturation. - _mm256_adds_epu16⚠
avx2Adds packed unsigned 16-bit integers inaandbusing saturation. - _mm256_alignr_epi8⚠
avx2Concatenates pairs of 16-byte blocks inaandbinto a 32-byte temporary result, shifts the result right bynbytes, and returns the low 16 bytes. - _mm256_and_si256⚠
avx2Computes the bitwise AND of 256 bits (representing integer data) inaandb. - _mm256_andnot_si256⚠
avx2Computes the bitwise NOT of 256 bits (representing integer data) inaand then AND withb. - _mm256_avg_epu8⚠
avx2Averages packed unsigned 8-bit integers inaandb. - _mm256_avg_epu16⚠
avx2Averages packed unsigned 16-bit integers inaandb. - _mm256_blend_epi16⚠
avx2Blends packed 16-bit integers fromaandbusing control maskIMM8. - _mm256_blend_epi32⚠
avx2Blends packed 32-bit integers fromaandbusing control maskIMM8. - _mm256_blendv_epi8⚠
avx2Blends packed 8-bit integers fromaandbusingmask. - Broadcasts the low packed 8-bit integer from
ato all elements of the 256-bit returned value. - Broadcasts the low packed 32-bit integer from
ato all elements of the 256-bit returned value. - Broadcasts the low packed 64-bit integer from
ato all elements of the 256-bit returned value. - Broadcasts the low double-precision (64-bit) floating-point element from
ato all elements of the 256-bit returned value. - Broadcasts 128 bits of integer data from a to all 128-bit lanes in the 256-bit returned value.
- Broadcasts the low single-precision (32-bit) floating-point element from
ato all elements of the 256-bit returned value. - Broadcasts the low packed 16-bit integer from a to all elements of the 256-bit returned value
- _mm256_bslli_epi128⚠
avx2Shifts 128-bit lanes inaleft byimm8bytes while shifting in zeros. - _mm256_bsrli_epi128⚠
avx2Shifts 128-bit lanes inaright byimm8bytes while shifting in zeros. - _mm256_cmpeq_epi8⚠
avx2Compares packed 8-bit integers inaandbfor equality. - _mm256_cmpeq_epi16⚠
avx2Compares packed 16-bit integers inaandbfor equality. - _mm256_cmpeq_epi32⚠
avx2Compares packed 32-bit integers inaandbfor equality. - _mm256_cmpeq_epi64⚠
avx2Compares packed 64-bit integers inaandbfor equality. - _mm256_cmpgt_epi8⚠
avx2Compares packed 8-bit integers inaandbfor greater-than. - _mm256_cmpgt_epi16⚠
avx2Compares packed 16-bit integers inaandbfor greater-than. - _mm256_cmpgt_epi32⚠
avx2Compares packed 32-bit integers inaandbfor greater-than. - _mm256_cmpgt_epi64⚠
avx2Compares packed 64-bit integers inaandbfor greater-than. - _mm256_cvtepi8_epi16⚠
avx2Sign-extend 8-bit integers to 16-bit integers. - _mm256_cvtepi8_epi32⚠
avx2Sign-extend 8-bit integers to 32-bit integers. - _mm256_cvtepi8_epi64⚠
avx2Sign-extend 8-bit integers to 64-bit integers. - Sign-extend 16-bit integers to 32-bit integers.
- Sign-extend 16-bit integers to 64-bit integers.
- Sign-extend 32-bit integers to 64-bit integers.
- _mm256_cvtepu8_epi16⚠
avx2Zero-extend unsigned 8-bit integers inato 16-bit integers. - _mm256_cvtepu8_epi32⚠
avx2Zero-extend the lower eight unsigned 8-bit integers inato 32-bit integers. The upper eight elements ofaare unused. - _mm256_cvtepu8_epi64⚠
avx2Zero-extend the lower four unsigned 8-bit integers inato 64-bit integers. The upper twelve elements ofaare unused. - Zeroes extend packed unsigned 16-bit integers in
ato packed 32-bit integers, and stores the results indst. - Zero-extend the lower four unsigned 16-bit integers in
ato 64-bit integers. The upper four elements ofaare unused. - Zero-extend unsigned 32-bit integers in
ato 64-bit integers. - _mm256_cvtsd_f64⚠
avx2Returns the first element of the input vector of[4 x double]. - _mm256_cvtsi256_si32⚠
avx2Returns the first element of the input vector of[8 x i32]. - _mm256_extract_epi8⚠
avx2Extracts an 8-bit integer froma, selected withINDEX. Returns a 32-bit integer containing the zero-extended integer data. - _mm256_extract_epi16⚠
avx2Extracts a 16-bit integer froma, selected withINDEX. Returns a 32-bit integer containing the zero-extended integer data. - _mm256_extract_epi32⚠
avx2Extracts a 32-bit integer froma, selected withINDEX. - Extracts 128 bits (of integer data) from
aselected withIMM1. - _mm256_hadd_epi16⚠
avx2Horizontally adds adjacent pairs of 16-bit integers inaandb. - _mm256_hadd_epi32⚠
avx2Horizontally adds adjacent pairs of 32-bit integers inaandb. - _mm256_hadds_epi16⚠
avx2Horizontally adds adjacent pairs of 16-bit integers inaandbusing saturation. - _mm256_hsub_epi16⚠
avx2Horizontally subtract adjacent pairs of 16-bit integers inaandb. - _mm256_hsub_epi32⚠
avx2Horizontally subtract adjacent pairs of 32-bit integers inaandb. - _mm256_hsubs_epi16⚠
avx2Horizontally subtract adjacent pairs of 16-bit integers inaandbusing saturation. - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm256_i32gather_pd⚠
avx2Returns values fromsliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm256_i32gather_ps⚠
avx2Returns values fromsliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm256_i64gather_pd⚠
avx2Returns values fromsliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm256_i64gather_ps⚠
avx2Returns values fromsliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - Copies
atodst, then insert 128 bits (of integer data) frombat the location specified byIMM1. - _mm256_madd_epi16⚠
avx2Multiplies packed signed 16-bit integers inaandb, producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers. - _mm256_maddubs_epi16⚠
avx2Vertically multiplies each unsigned 8-bit integer fromawith the corresponding signed 8-bit integer fromb, producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. If mask is set, load the value fromsrcin that position instead. - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. If mask is set, load the value fromsrcin that position instead. - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. If mask is set, load the value fromsrcin that position instead. - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. If mask is set, load the value fromsrcin that position instead. - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. If mask is set, load the value fromsrcin that position instead. - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. If mask is set, load the value fromsrcin that position instead. - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. If mask is set, load the value fromsrcin that position instead. - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. If mask is set, load the value fromsrcin that position instead. - Loads packed 32-bit integers from memory pointed by
mem_addrusingmask(elements are zeroed out when the highest bit is not set in the corresponding element). - Loads packed 64-bit integers from memory pointed by
mem_addrusingmask(elements are zeroed out when the highest bit is not set in the corresponding element). - Stores packed 32-bit integers from
ainto memory pointed bymem_addrusingmask(elements are not stored when the highest bit is not set in the corresponding element). - Stores packed 64-bit integers from
ainto memory pointed bymem_addrusingmask(elements are not stored when the highest bit is not set in the corresponding element). - _mm256_max_epi8⚠
avx2Compares packed 8-bit integers inaandb, and returns the packed maximum values. - _mm256_max_epi16⚠
avx2Compares packed 16-bit integers inaandb, and returns the packed maximum values. - _mm256_max_epi32⚠
avx2Compares packed 32-bit integers inaandb, and returns the packed maximum values. - _mm256_max_epu8⚠
avx2Compares packed unsigned 8-bit integers inaandb, and returns the packed maximum values. - _mm256_max_epu16⚠
avx2Compares packed unsigned 16-bit integers inaandb, and returns the packed maximum values. - _mm256_max_epu32⚠
avx2Compares packed unsigned 32-bit integers inaandb, and returns the packed maximum values. - _mm256_min_epi8⚠
avx2Compares packed 8-bit integers inaandb, and returns the packed minimum values. - _mm256_min_epi16⚠
avx2Compares packed 16-bit integers inaandb, and returns the packed minimum values. - _mm256_min_epi32⚠
avx2Compares packed 32-bit integers inaandb, and returns the packed minimum values. - _mm256_min_epu8⚠
avx2Compares packed unsigned 8-bit integers inaandb, and returns the packed minimum values. - _mm256_min_epu16⚠
avx2Compares packed unsigned 16-bit integers inaandb, and returns the packed minimum values. - _mm256_min_epu32⚠
avx2Compares packed unsigned 32-bit integers inaandb, and returns the packed minimum values. - _mm256_movemask_epi8⚠
avx2Creates mask from the most significant bit of each 8-bit element ina, return the result. - _mm256_mpsadbw_epu8⚠
avx2Computes the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers inacompared to those inb, and stores the 16-bit results in dst. Eight SADs are performed for each 128-bit lane using one quadruplet fromband eight quadruplets froma. One quadruplet is selected frombstarting at on the offset specified inimm8. Eight quadruplets are formed from sequential 8-bit integers selected fromastarting at the offset specified inimm8. - _mm256_mul_epi32⚠
avx2Multiplies the low 32-bit integers from each packed 64-bit element inaandb - _mm256_mul_epu32⚠
avx2Multiplies the low unsigned 32-bit integers from each packed 64-bit element inaandb - _mm256_mulhi_epi16⚠
avx2Multiplies the packed 16-bit integers inaandb, producing intermediate 32-bit integers and returning the high 16 bits of the intermediate integers. - _mm256_mulhi_epu16⚠
avx2Multiplies the packed unsigned 16-bit integers inaandb, producing intermediate 32-bit integers and returning the high 16 bits of the intermediate integers. - _mm256_mulhrs_epi16⚠
avx2Multiplies packed 16-bit integers inaandb, producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and return bits[16:1]. - _mm256_mullo_epi16⚠
avx2Multiplies the packed 16-bit integers inaandb, producing intermediate 32-bit integers, and returns the low 16 bits of the intermediate integers - _mm256_mullo_epi32⚠
avx2Multiplies the packed 32-bit integers inaandb, producing intermediate 64-bit integers, and returns the low 32 bits of the intermediate integers - _mm256_or_si256⚠
avx2Computes the bitwise OR of 256 bits (representing integer data) inaandb - _mm256_packs_epi16⚠
avx2Converts packed 16-bit integers fromaandbto packed 8-bit integers using signed saturation - _mm256_packs_epi32⚠
avx2Converts packed 32-bit integers fromaandbto packed 16-bit integers using signed saturation - _mm256_packus_epi16⚠
avx2Converts packed 16-bit integers fromaandbto packed 8-bit integers using unsigned saturation - _mm256_packus_epi32⚠
avx2Converts packed 32-bit integers fromaandbto packed 16-bit integers using unsigned saturation - Shuffles 128-bits of integer data selected by
imm8fromaandb. - Permutes 64-bit integers from
ausing control maskimm8. - Shuffles 64-bit floating-point elements in
aacross lanes using the control inimm8. - Permutes packed 32-bit integers from
aaccording to the content ofb. - Shuffles eight 32-bit floating-point elements in
aacross lanes using the corresponding 32-bit integer index inidx. - _mm256_sad_epu8⚠
avx2Computes the absolute differences of packed unsigned 8-bit integers inaandb, then horizontally sum each consecutive 8 differences to produce four unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low 16 bits of the 64-bit return value - _mm256_shuffle_epi8⚠
avx2Shuffles bytes fromaaccording to the content ofb. - _mm256_shuffle_epi32⚠
avx2Shuffles 32-bit integers in 128-bit lanes ofausing the control inimm8. - Shuffles 16-bit integers in the high 64 bits of 128-bit lanes of
ausing the control inimm8. The low 64 bits of 128-bit lanes ofaare copied to the output. - Shuffles 16-bit integers in the low 64 bits of 128-bit lanes of
ausing the control inimm8. The high 64 bits of 128-bit lanes ofaare copied to the output. - _mm256_sign_epi8⚠
avx2Negates packed 8-bit integers inawhen the corresponding signed 8-bit integer inbis negative, and returns the results. Results are zeroed out when the corresponding element inbis zero. - _mm256_sign_epi16⚠
avx2Negates packed 16-bit integers inawhen the corresponding signed 16-bit integer inbis negative, and returns the results. Results are zeroed out when the corresponding element inbis zero. - _mm256_sign_epi32⚠
avx2Negates packed 32-bit integers inawhen the corresponding signed 32-bit integer inbis negative, and returns the results. Results are zeroed out when the corresponding element inbis zero. - _mm256_sll_epi16⚠
avx2Shifts packed 16-bit integers inaleft bycountwhile shifting in zeros, and returns the result - _mm256_sll_epi32⚠
avx2Shifts packed 32-bit integers inaleft bycountwhile shifting in zeros, and returns the result - _mm256_sll_epi64⚠
avx2Shifts packed 64-bit integers inaleft bycountwhile shifting in zeros, and returns the result - _mm256_slli_epi16⚠
avx2Shifts packed 16-bit integers inaleft byIMM8while shifting in zeros, return the results; - _mm256_slli_epi32⚠
avx2Shifts packed 32-bit integers inaleft byIMM8while shifting in zeros, return the results; - _mm256_slli_epi64⚠
avx2Shifts packed 64-bit integers inaleft byIMM8while shifting in zeros, return the results; - _mm256_slli_si256⚠
avx2Shifts 128-bit lanes inaleft byimm8bytes while shifting in zeros. - _mm256_sllv_epi32⚠
avx2Shifts packed 32-bit integers inaleft by the amount specified by the corresponding element incountwhile shifting in zeros, and returns the result. - _mm256_sllv_epi64⚠
avx2Shifts packed 64-bit integers inaleft by the amount specified by the corresponding element incountwhile shifting in zeros, and returns the result. - _mm256_sra_epi16⚠
avx2Shifts packed 16-bit integers inaright bycountwhile shifting in sign bits. - _mm256_sra_epi32⚠
avx2Shifts packed 32-bit integers inaright bycountwhile shifting in sign bits. - _mm256_srai_epi16⚠
avx2Shifts packed 16-bit integers inaright byIMM8while shifting in sign bits. - _mm256_srai_epi32⚠
avx2Shifts packed 32-bit integers inaright byIMM8while shifting in sign bits. - _mm256_srav_epi32⚠
avx2Shifts packed 32-bit integers inaright by the amount specified by the corresponding element incountwhile shifting in sign bits. - _mm256_srl_epi16⚠
avx2Shifts packed 16-bit integers inaright bycountwhile shifting in zeros. - _mm256_srl_epi32⚠
avx2Shifts packed 32-bit integers inaright bycountwhile shifting in zeros. - _mm256_srl_epi64⚠
avx2Shifts packed 64-bit integers inaright bycountwhile shifting in zeros. - _mm256_srli_epi16⚠
avx2Shifts packed 16-bit integers inaright byIMM8while shifting in zeros - _mm256_srli_epi32⚠
avx2Shifts packed 32-bit integers inaright byIMM8while shifting in zeros - _mm256_srli_epi64⚠
avx2Shifts packed 64-bit integers inaright byIMM8while shifting in zeros - _mm256_srli_si256⚠
avx2Shifts 128-bit lanes inaright byimm8bytes while shifting in zeros. - _mm256_srlv_epi32⚠
avx2Shifts packed 32-bit integers inaright by the amount specified by the corresponding element incountwhile shifting in zeros, - _mm256_srlv_epi64⚠
avx2Shifts packed 64-bit integers inaright by the amount specified by the corresponding element incountwhile shifting in zeros, - _mm256_sub_epi8⚠
avx2Subtract packed 8-bit integers inbfrom packed 8-bit integers ina - _mm256_sub_epi16⚠
avx2Subtract packed 16-bit integers inbfrom packed 16-bit integers ina - _mm256_sub_epi32⚠
avx2Subtract packed 32-bit integers inbfrom packed 32-bit integers ina - _mm256_sub_epi64⚠
avx2Subtract packed 64-bit integers inbfrom packed 64-bit integers ina - _mm256_subs_epi8⚠
avx2Subtract packed 8-bit integers inbfrom packed 8-bit integers inausing saturation. - _mm256_subs_epi16⚠
avx2Subtract packed 16-bit integers inbfrom packed 16-bit integers inausing saturation. - _mm256_subs_epu8⚠
avx2Subtract packed unsigned 8-bit integers inbfrom packed 8-bit integers inausing saturation. - _mm256_subs_epu16⚠
avx2Subtract packed unsigned 16-bit integers inbfrom packed 16-bit integers inausing saturation. - _mm256_unpackhi_epi8⚠
avx2Unpacks and interleave 8-bit integers from the high half of each 128-bit lane inaandb. - Unpacks and interleave 16-bit integers from the high half of each 128-bit lane of
aandb. - Unpacks and interleave 32-bit integers from the high half of each 128-bit lane of
aandb. - Unpacks and interleave 64-bit integers from the high half of each 128-bit lane of
aandb. - _mm256_unpacklo_epi8⚠
avx2Unpacks and interleave 8-bit integers from the low half of each 128-bit lane ofaandb. - Unpacks and interleave 16-bit integers from the low half of each 128-bit lane of
aandb. - Unpacks and interleave 32-bit integers from the low half of each 128-bit lane of
aandb. - Unpacks and interleave 64-bit integers from the low half of each 128-bit lane of
aandb. - _mm256_xor_si256⚠
avx2Computes the bitwise XOR of 256 bits (representing integer data) inaandb - _mm_blend_epi32⚠
avx2Blends packed 32-bit integers fromaandbusing control maskIMM4. - _mm_broadcastb_epi8⚠
avx2Broadcasts the low packed 8-bit integer fromato all elements of the 128-bit returned value. - _mm_broadcastd_epi32⚠
avx2Broadcasts the low packed 32-bit integer fromato all elements of the 128-bit returned value. - _mm_broadcastq_epi64⚠
avx2Broadcasts the low packed 64-bit integer fromato all elements of the 128-bit returned value. - _mm_broadcastsd_pd⚠
avx2Broadcasts the low double-precision (64-bit) floating-point element fromato all elements of the 128-bit returned value. - _mm_broadcastss_ps⚠
avx2Broadcasts the low single-precision (32-bit) floating-point element fromato all elements of the 128-bit returned value. - _mm_broadcastw_epi16⚠
avx2Broadcasts the low packed 16-bit integer from a to all elements of the 128-bit returned value - _mm_i32gather_epi32⚠
avx2Returns values fromsliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm_i32gather_epi64⚠
avx2Returns values fromsliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm_i32gather_pd⚠
avx2Returns values fromsliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm_i32gather_ps⚠
avx2Returns values fromsliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm_i64gather_epi32⚠
avx2Returns values fromsliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm_i64gather_epi64⚠
avx2Returns values fromsliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm_i64gather_pd⚠
avx2Returns values fromsliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm_i64gather_ps⚠
avx2Returns values fromsliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. If mask is set, load the value fromsrcin that position instead. - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. If mask is set, load the value fromsrcin that position instead. - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. If mask is set, load the value fromsrcin that position instead. - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. If mask is set, load the value fromsrcin that position instead. - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. If mask is set, load the value fromsrcin that position instead. - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. If mask is set, load the value fromsrcin that position instead. - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. If mask is set, load the value fromsrcin that position instead. - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. If mask is set, load the value fromsrcin that position instead. - _mm_maskload_epi32⚠
avx2Loads packed 32-bit integers from memory pointed bymem_addrusingmask(elements are zeroed out when the highest bit is not set in the corresponding element). - _mm_maskload_epi64⚠
avx2Loads packed 64-bit integers from memory pointed bymem_addrusingmask(elements are zeroed out when the highest bit is not set in the corresponding element). - _mm_maskstore_epi32⚠
avx2Stores packed 32-bit integers fromainto memory pointed bymem_addrusingmask(elements are not stored when the highest bit is not set in the corresponding element). - _mm_maskstore_epi64⚠
avx2Stores packed 64-bit integers fromainto memory pointed bymem_addrusingmask(elements are not stored when the highest bit is not set in the corresponding element). - _mm_sllv_epi32⚠
avx2Shifts packed 32-bit integers inaleft by the amount specified by the corresponding element incountwhile shifting in zeros, and returns the result. - _mm_sllv_epi64⚠
avx2Shifts packed 64-bit integers inaleft by the amount specified by the corresponding element incountwhile shifting in zeros, and returns the result. - _mm_srav_epi32⚠
avx2Shifts packed 32-bit integers inaright by the amount specified by the corresponding element incountwhile shifting in sign bits. - _mm_srlv_epi32⚠
avx2Shifts packed 32-bit integers inaright by the amount specified by the corresponding element incountwhile shifting in zeros, - _mm_srlv_epi64⚠
avx2Shifts packed 64-bit integers inaright by the amount specified by the corresponding element incountwhile shifting in zeros,