Go to main content

x86 Assembly Language Reference Manual

Exit Print View

Updated: March 2018
 
 

3.8 AVX2 Instructions

Table 25  AVX2 Instructions
Oracle Solaris Mnemonic
Intel/AMD Mnemonic
Description
Reference
vmovntdqa
MOVNTDQA
Load Double Quadword Non-Temporal Aligned Hint
page 5-369 (319433-016/Oct.2013)
vmpsadbw
MPSADBW
Compute Multiple Packed Sums of Absolute Difference
page 3-577 (253666-048US/Sep.2013)
vpabs(w|b|d)
PABSB
PABSW
PABSD
PABSQ
Packed Absolute Value
page 5-404 (319433-016/Oct.2013)
vpackss(dw|wb)
PACKSSWB
PACKSSDW
Pack with Signed Saturation
page 4-27 (253667-048US/Sep.2013)
vpackusdw
PACKUSDW
Pack with Unsigned Saturation
page 4-32 (253667-048US/Sep.2013)
vpackuswb
PACKUSWB
Pack with Unsigned Saturation
page 4-35 (253667-048US/Sep.2013)
vpadd(q|w|b|d)
PADDB
PADDW
PADDD
PADDQ
Add Packed Integers
page 5-408 (319433-016/Oct.2013)
vpadds(w|b)
PADDSB
PADDSW
Add Packed Signed Integers with Signed Saturation
page 4-44 (253667-048US/Sep.2013)
vpaddus(w|b)
PADDUSB
PADDUSW
Add Packed Unsigned Integers with Unsigned Saturation
page 4-47 (253667-048US/Sep.2013)
vpalignr
PALIGNR
Packed Align Right
page 4-50 (253667-048US/Sep.2013)
vpand
PAND
Logical AND
page 5-413 (319433-016/Oct.2013)
vpandn
PANDN
Logical AND NOT
page 5-416 (319433-016/Oct.2013)
vpavg(w|b)
PAVGB
PAVGW
Average Packed Integers
page 4-58 (253667-048US/Sep.2013)
vpblendvb
PBLENDVB
Variable Blend Packed Bytes
page 4-61 (253667-048US/Sep.2013)
vpblendw
PBLENDW
Blend Packed Words
page 4-65 (253667-048US/Sep.2013)
vpcmpeq(q|w|b|d)
PCMPEQB
PCMPEQW
PCMPEQD
PCMPEQQ
Compare Packed Integers for Equality
page 5-419 (319433-016/Oct.2013)
vpcmpgt(q|w|b|d)
PCMPGTB
PCMPGTW
PCMPGTD
PCMPGTQ
Compare Packed Integers for Greater Than
page 5-424 (319433-016/Oct.2013)
vphaddsw
PHADDSW
Packed Horizontal Add and Saturate
page 4-105 (253667-048US/Sep.2013)
vphadd(w|d)
PHADDW
PHADDD
Packed Horizontal Add
page 4-101 (253667-048US/Sep.2013)
vphsubsw
PHSUBSW
Packed Horizontal Subtract and Saturate
page 4-112 (253667-048US/Sep.2013)
vphsub(w|d)
PHSUBW
PHSUBD
Packed Horizontal Subtract
page 4-109 (253667-048US/Sep.2013)
vpmaddubsw
PMADDUBSW
Multiply and Add Packed Signed and Unsigned Bytes
page 4-118 (253667-048US/Sep.2013)
vpmaddwd
PMADDWD
Multiply and Add Packed Integers
page 4-120 (253667-048US/Sep.2013)
vpmaxs(w|b|d)
PMAXSB
PMAXSW
PMAXSD
PMAXSQ
Maximum of Packed Signed Integers
page 5-471 (319433-016/Oct.2013)
vpmaxub
PMAXUB
Maximum of Packed Unsigned Byte Integers
page 4-131 (253667-048US/Sep.2013)
vpmaxud
PMAXUD
PMAXUQ
Maximum of Packed Unsigned Integers
page 5-476 (319433-016/Oct.2013)
vpmaxuw
PMAXUW
Maximum of Packed Word Integers
page 4-136 (253667-048US/Sep.2013)
vpminsb
PMINSB
Minimum of Packed Signed Byte Integers
page 4-138 (253667-048US/Sep.2013)
vpminsd
PMINSD
PMINSQ
Minimum of Packed Signed Integers
page 5-479 (319433-016/Oct.2013)
vpminsw
PMINSW
Minimum of Packed Signed Word Integers
page 4-143 (253667-048US/Sep.2013)
vpminub
PMINUB
Minimum of Packed Unsigned Byte Integers
page 4-146 (253667-048US/Sep.2013)
vpminud
PMINUD
PMINUQ
Minimum of Packed Unsigned Integers
page 5-482 (319433-016/Oct.2013)
vpminuw
PMINUW
Minimum of Packed Word Integers
page 4-151 (253667-048US/Sep.2013)
vpmovmskb
PMOVMSKB
Move Byte Mask
page 4-153 (253667-048US/Sep.2013)
vpmovsx(bd|bq|bw|dq|wd|wq)
PMOVSX
Packed Move with Sign Extend
page 5-500 (319433-016/Oct.2013)
vpmovzx(bd|bq|bw|dq|wd|wq)
PMOVZX
Packed Move with Zero Extend
page 5-507 (319433-016/Oct.2013)
vpmuldq
PMULDQ
Multiply Packed Doubleword Integers
page 5-514 (319433-016/Oct.2013)
vpmulhrsw
PMULHRSW
Packed Multiply High with Round and Scale
page 4-165 (253667-048US/Sep.2013)
vpmulhuw
PMULHUW
Multiply Packed Unsigned Integers and Store High Result
page 4-168 (253667-048US/Sep.2013)
vpmulhw
PMULHW
Multiply Packed Signed Integers and Store High Result
page 4-172 (253667-048US/Sep.2013)
vpmulld
PMULLD
Multiply Packed Integers and Store Low Result
page 5-516 (319433-016/Oct.2013)
vpmullw
PMULLW
Multiply Packed Signed Integers and Store Low Result
page 4-177 (253667-048US/Sep.2013)
vpmuludq
PMULUDQ
Multiply Packed Unsigned Doubleword Integers
page 5-519 (319433-016/Oct.2013)
vpor
POR
Bitwise Logical Or
page 5-521 (319433-016/Oct.2013)
vpsadbw
PSADBW
Compute Sum of Absolute Differences
page 4-198 (253667-048US/Sep.2013)
vpshufb
PSHUFB
Packed Shuffle Bytes
page 4-201 (253667-048US/Sep.2013)
vpshufd
PSHUFD
Shuffle Packed Doublewords
page 5-533 (319433-016/Oct.2013)
vpshufhw
PSHUFHW
Shuffle Packed High Words
page 4-206 (253667-048US/Sep.2013)
vpshuflw
PSHUFLW
Shuffle Packed Low Words
page 4-208 (253667-048US/Sep.2013)
vpsign(w|b|d)
PSIGNB
PSIGNW
PSIGND
Packed SIGN
page 4-211 (253667-048US/Sep.2013)
vpslldq
PSLLDQ
Shift Double Quadword Left Logical
page 4-215 (253667-048US/Sep.2013)
vpsll(q|w|d)
PSLLW
PSLLD
PSLLQ
Bit Shift Left
page 5-536 (319433-016/Oct.2013)
vpsra(w|d)
PSRAW
PSRAD
PSRAQ
Bit Shift Arithmetic Right
page 5-544 (319433-016/Oct.2013)
vpsrldq
PSRLDQ
Shift Double Quadword Right Logical
page 4-228 (253667-048US/Sep.2013)
vpsrl(q|w|d)
PSRLW
PSRLD
PSRLQ
Shift Packed Data Right Logical
page 5-550 (319433-016/Oct.2013)
vpsub(q|w|b|d)
PSUBB
PSUBW
PSUBD
PSUBQ
Packed Integer Subtract
page 5-563 (319433-016/Oct.2013)
vpsubs(w|b)
PSUBSB
PSUBSW
Subtract Packed Signed Integers with Signed Saturation
page 4-243 (253667-048US/Sep.2013)
vpsubus(w|b)
PSUBUSB
PSUBUSW
Subtract Packed Unsigned Integers with Unsigned Saturation
page 4-246 (253667-048US/Sep.2013)
vpunpckh(bw|dq|qdq|wd)
PUNPCKHBW
PUNPCKHWD
PUNPCKHDQ
PUNPCKHQDQ
Unpack High Data
page 5-571 (319433-016/Oct.2013)
vpunpckl(bw|dq|qdq|wd)
PUNPCKLBW
PUNPCKLWD
PUNPCKLDQ
PUNPCKLQDQ
Unpack Low Data
page 5-578 (319433-016/Oct.2013)
vpxor
PXOR
PXORD
PXORQ
Exclusive Or
page 5-612 (319433-016/Oct.2013)
vbroadcast(sd|ss)
VBROADCAST
Load with Broadcast Floating-Point Data
page 5-27 (319433-016/Oct.2013)
vextracti128
VEXTRACTI128
VEXTRACTI32x4
VEXTRACTI64x4
Extract packed Integer Values
page 5-155 (319433-016/Oct.2013)
vgatherdp(d|s)
VGATHERDPS
VGATHERDPD
Gather Packed Single, Packed Double with Signed Dword
page 5-273 (319433-016/Oct.2013)
vgatherqp(d|s)
VGATHERQPS
VGATHERQPD
Gather Packed Single, Packed Double with Signed Qword Indices
page 5-275 (319433-016/Oct.2013)
vinserti128
VINSERTI128
VINSERTI32x4
VINSERTI64x4
Insert Packed Integer Values
page 5-308 (319433-016/Oct.2013)
vpblendd
VPBLENDD
Blend Packed Dwords
page 4-509 (253667-048US/Sep.2013)
vpbroadcast(q|w|b|d)
VPBROADCAST
Load Integer and Broadcast
page 5-34 (319433-016/Oct.2013)
vbroadcasti128
VPBROADCAST
VBROADCASTI128
Broadcast Integer Data
page 4-511 (253667-048US/Sep.2013)
vperm2i128
VPERM2I128
Permute Integer Values
page 4-519 (253667-048US/Sep.2013)
vpermd
VPERMD
Permute Packed Doublewords/Elements
page 5-437 (319433-016/Oct.2013)
vpermpd
VPERMPD
Permute Double-Precision Floating-Point Elements
page 5-455 (319433-016/Oct.2013)
vpermps
VPERMPS
Permute Single-Precision Floating-Point Elements
page 5-458 (319433-016/Oct.2013)
vpermq
VPERMQ
Qwords Element Permutation
page 5-460 (319433-016/Oct.2013)
vpgatherdd
VPGATHERDD
VPGATHERDQ
Gather Packed Dword, Packed Qword with Signed Dword Indices
page 5-467 (319433-016/Oct.2013)
vpgatherdq
VPGATHERDD
VPGATHERDQ
Gather Packed Dword, Packed Qword with Signed Dword Indices
page 5-467 (319433-016/Oct.2013)
vpgatherqd
VPGATHERQD
VPGATHERQQ
Gather Packed Dword, Packed Qword with Signed Qword Indices
page 5-469 (319433-016/Oct.2013)
vpgatherqq
VPGATHERQD
VPGATHERQQ
Gather Packed Dword, Packed Qword with Signed Qword Indices
page 5-469 (319433-016/Oct.2013)
vpmaskmov(q|d)
VPMASKMOV
Conditional SIMD Integer Packed Loads and Stores
page 4-529 (253667-048US/Sep.2013)
vpsllv(q|d)
VPSLLVW
VPSLLVD
VPSLLVQ
Variable Bit Shift Left Logical
page 5-557 (319433-016/Oct.2013)
vpsravd
VPSRAVD
VPSRAVQ
Variable Bit Shift Right Arithmetic
page 5-609 (319433-016/Oct.2013)
vpsrlv(q|d)
VPSRLVW
VPSRLVD
VPSRLVQ
Variable Bit Shift Right Logical
page 5-560 (319433-016/Oct.2013)