background image

14-30 Vol. 1

PROGRAMMING WITH AVX, FMA AND AVX2

Table 14-19 compares complementary SIMD functionalities introduced in AVX and AVX2. instructions. 

AVX2

AVX

SSE4.2

PCMPGTQ

no

AVX

PCMPESTRI

no

AVX

PCMPESTRM

no

AVX

PCMPISTRI

no

AVX

PCMPISTRM

no

AVX

AESNI

AESDEC

no

AVX

AESDECLAST

no

AVX

AESENC

no

AVX

AESECNLAST

no

AVX

AESIMC

no

AVX

AESKEYGENASSIST

no

AVX

CLMUL

PCLMULQDQ

Table 14-19.   VEX-Only SIMD Instructions in AVX and AVX2

AVX2

AVX

Comment

VBROADCASTI128

VBROADCASTF128

256-bit only

VBROADCASTSD ymm1, xmm

VBROADCASTSD ymm1, m64

256-bit only

VBROADCASTSS (from xmm)

VBROADCASTSS (from m32)

VEXTRACTI128

VEXTRACTF128

256-bit only

VINSERTI128

VINSERTF128

256-bit only

VPMASKMOVD

VMASKMOVPS

VPMASKMOVQ!

VMASKMOVPD
VPERMILPD

in-lane

VPERMILPS

in-lane

VPERM2I128

VPERM2F128

256-bit only

VPERMD

cross-lane

VPERMPS

cross-lane

VPERMQ

cross-lane

VPERMPD

cross-lane

VTESTPD
VTESTPS

Table 14-18.  Promoted Vector Integer SIMD Instructions in AVX2

VEX.256 Encoding

VEX.128 Encoding

Group

Instruction