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 avx2 - Computes the absolute values of packed 8-bit integers in
a. - _mm256_
abs_ epi16 avx2 - Computes the absolute values of packed 16-bit integers in
a. - _mm256_
abs_ epi32 avx2 - Computes the absolute values of packed 32-bit integers in
a. - _mm256_
add_ epi8 avx2 - Adds packed 8-bit integers in
aandb. - _mm256_
add_ epi16 avx2 - Adds packed 16-bit integers in
aandb. - _mm256_
add_ epi32 avx2 - Adds packed 32-bit integers in
aandb. - _mm256_
add_ epi64 avx2 - Adds packed 64-bit integers in
aandb. - _mm256_
adds_ epi8 avx2 - Adds packed 8-bit integers in
aandbusing saturation. - _mm256_
adds_ epi16 avx2 - Adds packed 16-bit integers in
aandbusing saturation. - _mm256_
adds_ epu8 avx2 - Adds packed unsigned 8-bit integers in
aandbusing saturation. - _mm256_
adds_ epu16 avx2 - Adds packed unsigned 16-bit integers in
aandbusing saturation. - _mm256_
alignr_ epi8 avx2 - Concatenates pairs of 16-byte blocks in
aandbinto a 32-byte temporary result, shifts the result right bynbytes, and returns the low 16 bytes. - _mm256_
and_ si256 avx2 - Computes the bitwise AND of 256 bits (representing integer data)
in
aandb. - _mm256_
andnot_ si256 avx2 - Computes the bitwise NOT of 256 bits (representing integer data)
in
aand then AND withb. - _mm256_
avg_ epu8 avx2 - Averages packed unsigned 8-bit integers in
aandb. - _mm256_
avg_ epu16 avx2 - Averages packed unsigned 16-bit integers in
aandb. - _mm256_
blend_ epi16 avx2 - Blends packed 16-bit integers from
aandbusing control maskIMM8. - _mm256_
blend_ epi32 avx2 - Blends packed 32-bit integers from
aandbusing control maskIMM8. - _mm256_
blendv_ epi8 avx2 - Blends packed 8-bit integers from
aandbusingmask. - _mm256_
broadcastb_ epi8 avx2 - Broadcasts the low packed 8-bit integer from
ato all elements of the 256-bit returned value. - _mm256_
broadcastd_ epi32 avx2 - Broadcasts the low packed 32-bit integer from
ato all elements of the 256-bit returned value. - _mm256_
broadcastq_ epi64 avx2 - Broadcasts the low packed 64-bit integer from
ato all elements of the 256-bit returned value. - _mm256_
broadcastsd_ pd avx2 - Broadcasts the low double-precision (64-bit) floating-point element
from
ato all elements of the 256-bit returned value. - _mm256_
broadcastsi128_ si256 avx2 - Broadcasts 128 bits of integer data from a to all 128-bit lanes in the 256-bit returned value.
- _mm256_
broadcastss_ ps avx2 - Broadcasts the low single-precision (32-bit) floating-point element
from
ato all elements of the 256-bit returned value. - _mm256_
broadcastw_ epi16 avx2 - Broadcasts the low packed 16-bit integer from a to all elements of the 256-bit returned value
- _mm256_
bslli_ epi128 avx2 - Shifts 128-bit lanes in
aleft byimm8bytes while shifting in zeros. - _mm256_
bsrli_ epi128 avx2 - Shifts 128-bit lanes in
aright byimm8bytes while shifting in zeros. - _mm256_
cmpeq_ epi8 avx2 - Compares packed 8-bit integers in
aandbfor equality. - _mm256_
cmpeq_ epi16 avx2 - Compares packed 16-bit integers in
aandbfor equality. - _mm256_
cmpeq_ epi32 avx2 - Compares packed 32-bit integers in
aandbfor equality. - _mm256_
cmpeq_ epi64 avx2 - Compares packed 64-bit integers in
aandbfor equality. - _mm256_
cmpgt_ epi8 avx2 - Compares packed 8-bit integers in
aandbfor greater-than. - _mm256_
cmpgt_ epi16 avx2 - Compares packed 16-bit integers in
aandbfor greater-than. - _mm256_
cmpgt_ epi32 avx2 - Compares packed 32-bit integers in
aandbfor greater-than. - _mm256_
cmpgt_ epi64 avx2 - Compares packed 64-bit integers in
aandbfor greater-than. - _mm256_
cvtepi8_ epi16 avx2 - Sign-extend 8-bit integers to 16-bit integers.
- _mm256_
cvtepi8_ epi32 avx2 - Sign-extend 8-bit integers to 32-bit integers.
- _mm256_
cvtepi8_ epi64 avx2 - Sign-extend 8-bit integers to 64-bit integers.
- _mm256_
cvtepi16_ epi32 avx2 - Sign-extend 16-bit integers to 32-bit integers.
- _mm256_
cvtepi16_ epi64 avx2 - Sign-extend 16-bit integers to 64-bit integers.
- _mm256_
cvtepi32_ epi64 avx2 - Sign-extend 32-bit integers to 64-bit integers.
- _mm256_
cvtepu8_ epi16 avx2 - Zero-extend unsigned 8-bit integers in
ato 16-bit integers. - _mm256_
cvtepu8_ epi32 avx2 - Zero-extend the lower eight unsigned 8-bit integers in
ato 32-bit integers. The upper eight elements ofaare unused. - _mm256_
cvtepu8_ epi64 avx2 - Zero-extend the lower four unsigned 8-bit integers in
ato 64-bit integers. The upper twelve elements ofaare unused. - _mm256_
cvtepu16_ epi32 avx2 - Zeroes extend packed unsigned 16-bit integers in
ato packed 32-bit integers, and stores the results indst. - _mm256_
cvtepu16_ epi64 avx2 - Zero-extend the lower four unsigned 16-bit integers in
ato 64-bit integers. The upper four elements ofaare unused. - _mm256_
cvtepu32_ epi64 avx2 - Zero-extend unsigned 32-bit integers in
ato 64-bit integers. - _mm256_
extract_ epi8 avx2 - Extracts an 8-bit integer from
a, selected withINDEX. Returns a 32-bit integer containing the zero-extended integer data. - _mm256_
extract_ epi16 avx2 - Extracts a 16-bit integer from
a, selected withINDEX. Returns a 32-bit integer containing the zero-extended integer data. - _mm256_
extracti128_ si256 avx2 - Extracts 128 bits (of integer data) from
aselected withIMM1. - _mm256_
hadd_ epi16 avx2 - Horizontally adds adjacent pairs of 16-bit integers in
aandb. - _mm256_
hadd_ epi32 avx2 - Horizontally adds adjacent pairs of 32-bit integers in
aandb. - _mm256_
hadds_ epi16 avx2 - Horizontally adds adjacent pairs of 16-bit integers in
aandbusing saturation. - _mm256_
hsub_ epi16 avx2 - Horizontally subtract adjacent pairs of 16-bit integers in
aandb. - _mm256_
hsub_ epi32 avx2 - Horizontally subtract adjacent pairs of 32-bit integers in
aandb. - _mm256_
hsubs_ epi16 avx2 - Horizontally subtract adjacent pairs of 16-bit integers in
aandbusing saturation. - _mm256_
i32gather_ ⚠epi32 avx2 - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm256_
i32gather_ ⚠epi64 avx2 - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm256_
i32gather_ ⚠pd avx2 - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm256_
i32gather_ ⚠ps avx2 - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm256_
i64gather_ ⚠epi32 avx2 - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm256_
i64gather_ ⚠epi64 avx2 - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm256_
i64gather_ ⚠pd avx2 - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm256_
i64gather_ ⚠ps avx2 - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm256_
inserti128_ si256 avx2 - Copies
atodst, then insert 128 bits (of integer data) frombat the location specified byIMM1. - _mm256_
madd_ epi16 avx2 - Multiplies packed signed 16-bit integers in
aandb, producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers. - _mm256_
maddubs_ epi16 avx2 - Vertically multiplies each unsigned 8-bit integer from
awith the corresponding signed 8-bit integer fromb, producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers - _mm256_
mask_ ⚠i32gather_ epi32 avx2 - 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. - _mm256_
mask_ ⚠i32gather_ epi64 avx2 - 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. - _mm256_
mask_ ⚠i32gather_ pd avx2 - 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. - _mm256_
mask_ ⚠i32gather_ ps avx2 - 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. - _mm256_
mask_ ⚠i64gather_ epi32 avx2 - 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. - _mm256_
mask_ ⚠i64gather_ epi64 avx2 - 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. - _mm256_
mask_ ⚠i64gather_ pd avx2 - 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. - _mm256_
mask_ ⚠i64gather_ ps avx2 - 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. - _mm256_
maskload_ ⚠epi32 avx2 - 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). - _mm256_
maskload_ ⚠epi64 avx2 - 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). - _mm256_
maskstore_ ⚠epi32 avx2 - 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). - _mm256_
maskstore_ ⚠epi64 avx2 - 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 avx2 - Compares packed 8-bit integers in
aandb, and returns the packed maximum values. - _mm256_
max_ epi16 avx2 - Compares packed 16-bit integers in
aandb, and returns the packed maximum values. - _mm256_
max_ epi32 avx2 - Compares packed 32-bit integers in
aandb, and returns the packed maximum values. - _mm256_
max_ epu8 avx2 - Compares packed unsigned 8-bit integers in
aandb, and returns the packed maximum values. - _mm256_
max_ epu16 avx2 - Compares packed unsigned 16-bit integers in
aandb, and returns the packed maximum values. - _mm256_
max_ epu32 avx2 - Compares packed unsigned 32-bit integers in
aandb, and returns the packed maximum values. - _mm256_
min_ epi8 avx2 - Compares packed 8-bit integers in
aandb, and returns the packed minimum values. - _mm256_
min_ epi16 avx2 - Compares packed 16-bit integers in
aandb, and returns the packed minimum values. - _mm256_
min_ epi32 avx2 - Compares packed 32-bit integers in
aandb, and returns the packed minimum values. - _mm256_
min_ epu8 avx2 - Compares packed unsigned 8-bit integers in
aandb, and returns the packed minimum values. - _mm256_
min_ epu16 avx2 - Compares packed unsigned 16-bit integers in
aandb, and returns the packed minimum values. - _mm256_
min_ epu32 avx2 - Compares packed unsigned 32-bit integers in
aandb, and returns the packed minimum values. - _mm256_
movemask_ epi8 avx2 - Creates mask from the most significant bit of each 8-bit element in
a, return the result. - _mm256_
mpsadbw_ epu8 avx2 - Computes the sum of absolute differences (SADs) of quadruplets of unsigned
8-bit integers in
acompared 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 avx2 - Multiplies the low 32-bit integers from each packed 64-bit element in
aandb - _mm256_
mul_ epu32 avx2 - Multiplies the low unsigned 32-bit integers from each packed 64-bit
element in
aandb - _mm256_
mulhi_ epi16 avx2 - Multiplies the packed 16-bit integers in
aandb, producing intermediate 32-bit integers and returning the high 16 bits of the intermediate integers. - _mm256_
mulhi_ epu16 avx2 - Multiplies the packed unsigned 16-bit integers in
aandb, producing intermediate 32-bit integers and returning the high 16 bits of the intermediate integers. - _mm256_
mulhrs_ epi16 avx2 - Multiplies packed 16-bit integers in
aandb, 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 avx2 - Multiplies the packed 16-bit integers in
aandb, producing intermediate 32-bit integers, and returns the low 16 bits of the intermediate integers - _mm256_
mullo_ epi32 avx2 - Multiplies the packed 32-bit integers in
aandb, producing intermediate 64-bit integers, and returns the low 32 bits of the intermediate integers - _mm256_
or_ si256 avx2 - Computes the bitwise OR of 256 bits (representing integer data) in
aandb - _mm256_
packs_ epi16 avx2 - Converts packed 16-bit integers from
aandbto packed 8-bit integers using signed saturation - _mm256_
packs_ epi32 avx2 - Converts packed 32-bit integers from
aandbto packed 16-bit integers using signed saturation - _mm256_
packus_ epi16 avx2 - Converts packed 16-bit integers from
aandbto packed 8-bit integers using unsigned saturation - _mm256_
packus_ epi32 avx2 - Converts packed 32-bit integers from
aandbto packed 16-bit integers using unsigned saturation - _mm256_
permute2x128_ si256 avx2 - Shuffles 128-bits of integer data selected by
imm8fromaandb. - _mm256_
permute4x64_ epi64 avx2 - Permutes 64-bit integers from
ausing control maskimm8. - _mm256_
permute4x64_ pd avx2 - Shuffles 64-bit floating-point elements in
aacross lanes using the control inimm8. - _mm256_
permutevar8x32_ epi32 avx2 - Permutes packed 32-bit integers from
aaccording to the content ofb. - _mm256_
permutevar8x32_ ps avx2 - Shuffles eight 32-bit floating-point elements in
aacross lanes using the corresponding 32-bit integer index inidx. - _mm256_
sad_ epu8 avx2 - Computes the absolute differences of packed unsigned 8-bit integers in
aandb, 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 avx2 - Shuffles bytes from
aaccording to the content ofb. - _mm256_
shuffle_ epi32 avx2 - Shuffles 32-bit integers in 128-bit lanes of
ausing the control inimm8. - _mm256_
shufflehi_ epi16 avx2 - 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. - _mm256_
shufflelo_ epi16 avx2 - 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 avx2 - Negates packed 8-bit integers in
awhen 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 avx2 - Negates packed 16-bit integers in
awhen 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 avx2 - Negates packed 32-bit integers in
awhen 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 avx2 - Shifts packed 16-bit integers in
aleft bycountwhile shifting in zeros, and returns the result - _mm256_
sll_ epi32 avx2 - Shifts packed 32-bit integers in
aleft bycountwhile shifting in zeros, and returns the result - _mm256_
sll_ epi64 avx2 - Shifts packed 64-bit integers in
aleft bycountwhile shifting in zeros, and returns the result - _mm256_
slli_ epi16 avx2 - Shifts packed 16-bit integers in
aleft byIMM8while shifting in zeros, return the results; - _mm256_
slli_ epi32 avx2 - Shifts packed 32-bit integers in
aleft byIMM8while shifting in zeros, return the results; - _mm256_
slli_ epi64 avx2 - Shifts packed 64-bit integers in
aleft byIMM8while shifting in zeros, return the results; - _mm256_
slli_ si256 avx2 - Shifts 128-bit lanes in
aleft byimm8bytes while shifting in zeros. - _mm256_
sllv_ epi32 avx2 - Shifts packed 32-bit integers in
aleft by the amount specified by the corresponding element incountwhile shifting in zeros, and returns the result. - _mm256_
sllv_ epi64 avx2 - Shifts packed 64-bit integers in
aleft by the amount specified by the corresponding element incountwhile shifting in zeros, and returns the result. - _mm256_
sra_ epi16 avx2 - Shifts packed 16-bit integers in
aright bycountwhile shifting in sign bits. - _mm256_
sra_ epi32 avx2 - Shifts packed 32-bit integers in
aright bycountwhile shifting in sign bits. - _mm256_
srai_ epi16 avx2 - Shifts packed 16-bit integers in
aright byIMM8while shifting in sign bits. - _mm256_
srai_ epi32 avx2 - Shifts packed 32-bit integers in
aright byIMM8while shifting in sign bits. - _mm256_
srav_ epi32 avx2 - Shifts packed 32-bit integers in
aright by the amount specified by the corresponding element incountwhile shifting in sign bits. - _mm256_
srl_ epi16 avx2 - Shifts packed 16-bit integers in
aright bycountwhile shifting in zeros. - _mm256_
srl_ epi32 avx2 - Shifts packed 32-bit integers in
aright bycountwhile shifting in zeros. - _mm256_
srl_ epi64 avx2 - Shifts packed 64-bit integers in
aright bycountwhile shifting in zeros. - _mm256_
srli_ epi16 avx2 - Shifts packed 16-bit integers in
aright byIMM8while shifting in zeros - _mm256_
srli_ epi32 avx2 - Shifts packed 32-bit integers in
aright byIMM8while shifting in zeros - _mm256_
srli_ epi64 avx2 - Shifts packed 64-bit integers in
aright byIMM8while shifting in zeros - _mm256_
srli_ si256 avx2 - Shifts 128-bit lanes in
aright byimm8bytes while shifting in zeros. - _mm256_
srlv_ epi32 avx2 - Shifts packed 32-bit integers in
aright by the amount specified by the corresponding element incountwhile shifting in zeros, - _mm256_
srlv_ epi64 avx2 - Shifts packed 64-bit integers in
aright by the amount specified by the corresponding element incountwhile shifting in zeros, - _mm256_
stream_ ⚠load_ si256 avx2 - Load 256-bits of integer data from memory into dst using a non-temporal memory hint. mem_addr must be aligned on a 32-byte boundary or a general-protection exception may be generated. To minimize caching, the data is flagged as non-temporal (unlikely to be used again soon)
- _mm256_
sub_ epi8 avx2 - Subtract packed 8-bit integers in
bfrom packed 8-bit integers ina - _mm256_
sub_ epi16 avx2 - Subtract packed 16-bit integers in
bfrom packed 16-bit integers ina - _mm256_
sub_ epi32 avx2 - Subtract packed 32-bit integers in
bfrom packed 32-bit integers ina - _mm256_
sub_ epi64 avx2 - Subtract packed 64-bit integers in
bfrom packed 64-bit integers ina - _mm256_
subs_ epi8 avx2 - Subtract packed 8-bit integers in
bfrom packed 8-bit integers inausing saturation. - _mm256_
subs_ epi16 avx2 - Subtract packed 16-bit integers in
bfrom packed 16-bit integers inausing saturation. - _mm256_
subs_ epu8 avx2 - Subtract packed unsigned 8-bit integers in
bfrom packed 8-bit integers inausing saturation. - _mm256_
subs_ epu16 avx2 - Subtract packed unsigned 16-bit integers in
bfrom packed 16-bit integers inausing saturation. - _mm256_
unpackhi_ epi8 avx2 - Unpacks and interleave 8-bit integers from the high half of each
128-bit lane in
aandb. - _mm256_
unpackhi_ epi16 avx2 - Unpacks and interleave 16-bit integers from the high half of each
128-bit lane of
aandb. - _mm256_
unpackhi_ epi32 avx2 - Unpacks and interleave 32-bit integers from the high half of each
128-bit lane of
aandb. - _mm256_
unpackhi_ epi64 avx2 - Unpacks and interleave 64-bit integers from the high half of each
128-bit lane of
aandb. - _mm256_
unpacklo_ epi8 avx2 - Unpacks and interleave 8-bit integers from the low half of each
128-bit lane of
aandb. - _mm256_
unpacklo_ epi16 avx2 - Unpacks and interleave 16-bit integers from the low half of each
128-bit lane of
aandb. - _mm256_
unpacklo_ epi32 avx2 - Unpacks and interleave 32-bit integers from the low half of each
128-bit lane of
aandb. - _mm256_
unpacklo_ epi64 avx2 - Unpacks and interleave 64-bit integers from the low half of each
128-bit lane of
aandb. - _mm256_
xor_ si256 avx2 - Computes the bitwise XOR of 256 bits (representing integer data)
in
aandb - _mm_
blend_ epi32 avx2 - Blends packed 32-bit integers from
aandbusing control maskIMM4. - _mm_
broadcastb_ epi8 avx2 - Broadcasts the low packed 8-bit integer from
ato all elements of the 128-bit returned value. - _mm_
broadcastd_ epi32 avx2 - Broadcasts the low packed 32-bit integer from
ato all elements of the 128-bit returned value. - _mm_
broadcastq_ epi64 avx2 - Broadcasts the low packed 64-bit integer from
ato all elements of the 128-bit returned value. - _mm_
broadcastsd_ pd avx2 - Broadcasts the low double-precision (64-bit) floating-point element
from
ato all elements of the 128-bit returned value. - _mm_
broadcastsi128_ si256 avx2 - Broadcasts 128 bits of integer data from a to all 128-bit lanes in the 256-bit returned value.
- _mm_
broadcastss_ ps avx2 - Broadcasts the low single-precision (32-bit) floating-point element
from
ato all elements of the 128-bit returned value. - _mm_
broadcastw_ epi16 avx2 - Broadcasts the low packed 16-bit integer from a to all elements of the 128-bit returned value
- _mm_
i32gather_ ⚠epi32 avx2 - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm_
i32gather_ ⚠epi64 avx2 - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm_
i32gather_ ⚠pd avx2 - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm_
i32gather_ ⚠ps avx2 - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm_
i64gather_ ⚠epi32 avx2 - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm_
i64gather_ ⚠epi64 avx2 - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm_
i64gather_ ⚠pd avx2 - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm_
i64gather_ ⚠ps avx2 - Returns values from
sliceat offsets determined byoffsets * scale, wherescaleshould be 1, 2, 4 or 8. - _mm_
mask_ ⚠i32gather_ epi32 avx2 - 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_
mask_ ⚠i32gather_ epi64 avx2 - 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_
mask_ ⚠i32gather_ pd avx2 - 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_
mask_ ⚠i32gather_ ps avx2 - 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_
mask_ ⚠i64gather_ epi32 avx2 - 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_
mask_ ⚠i64gather_ epi64 avx2 - 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_
mask_ ⚠i64gather_ pd avx2 - 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_
mask_ ⚠i64gather_ ps avx2 - 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 avx2 - 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). - _mm_
maskload_ ⚠epi64 avx2 - 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). - _mm_
maskstore_ ⚠epi32 avx2 - 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). - _mm_
maskstore_ ⚠epi64 avx2 - 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). - _mm_
sllv_ epi32 avx2 - Shifts packed 32-bit integers in
aleft by the amount specified by the corresponding element incountwhile shifting in zeros, and returns the result. - _mm_
sllv_ epi64 avx2 - Shifts packed 64-bit integers in
aleft by the amount specified by the corresponding element incountwhile shifting in zeros, and returns the result. - _mm_
srav_ epi32 avx2 - Shifts packed 32-bit integers in
aright by the amount specified by the corresponding element incountwhile shifting in sign bits. - _mm_
srlv_ epi32 avx2 - Shifts packed 32-bit integers in
aright by the amount specified by the corresponding element incountwhile shifting in zeros, - _mm_
srlv_ epi64 avx2 - Shifts packed 64-bit integers in
aright by the amount specified by the corresponding element incountwhile shifting in zeros, - maskloadd 🔒 ⚠
- maskloadd256 🔒 ⚠
- maskloadq 🔒 ⚠
- maskloadq256 🔒 ⚠
- maskstored 🔒 ⚠
- maskstored256 🔒 ⚠
- maskstoreq 🔒 ⚠
- maskstoreq256 🔒 ⚠
- mpsadbw 🔒 ⚠
- packssdw 🔒 ⚠
- packsswb 🔒 ⚠
- packusdw 🔒 ⚠
- packuswb 🔒 ⚠
- permd 🔒 ⚠
- permps 🔒 ⚠
- pgatherdd 🔒 ⚠
- pgatherdpd 🔒 ⚠
- pgatherdps 🔒 ⚠
- pgatherdq 🔒 ⚠
- pgatherqd 🔒 ⚠
- pgatherqpd 🔒 ⚠
- pgatherqps 🔒 ⚠
- pgatherqq 🔒 ⚠
- phaddsw 🔒 ⚠
- phsubsw 🔒 ⚠
- pmaddubsw 🔒 ⚠
- pmulhrsw 🔒 ⚠
- psadbw 🔒 ⚠
- pshufb 🔒 ⚠
- psignb 🔒 ⚠
- psignd 🔒 ⚠
- psignw 🔒 ⚠
- pslld 🔒 ⚠
- psllq 🔒 ⚠
- psllvd 🔒 ⚠
- psllvd256 🔒 ⚠
- psllvq 🔒 ⚠
- psllvq256 🔒 ⚠
- psllw 🔒 ⚠
- psrad 🔒 ⚠
- psravd 🔒 ⚠
- psravd256 🔒 ⚠
- psraw 🔒 ⚠
- psrld 🔒 ⚠
- psrlq 🔒 ⚠
- psrlvd 🔒 ⚠
- psrlvd256 🔒 ⚠
- psrlvq 🔒 ⚠
- psrlvq256 🔒 ⚠
- psrlw 🔒 ⚠
- vpgatherdd 🔒 ⚠
- vpgatherdpd 🔒 ⚠
- vpgatherdps 🔒 ⚠
- vpgatherdq 🔒 ⚠
- vpgatherqd 🔒 ⚠
- vpgatherqpd 🔒 ⚠
- vpgatherqps 🔒 ⚠
- vpgatherqq 🔒 ⚠