Vol. 1 5-27
INSTRUCTION SET SUMMARY
5.11.2 Packed
Comparison
SIMD integer Instruction
PCMPGTQ
Performs logical compare of greater-than on packed integer quadwords.
5.12
AESNI AND PCLMULQDQ
Six AESNI instructions operate on XMM registers to provide accelerated primitives for block encryption/decryption
using Advanced Encryption Standard (FIPS-197). The PCLMULQDQ instruction performs carry-less multiplication
for two binary numbers up to 64-bit wide.
AESDEC
Perform an AES decryption round using an 128-bit state and a round key.
AESDECLAST
Perform the last AES decryption round using an 128-bit state and a round key.
AESENC
Perform an AES encryption round using an 128-bit state and a round key.
AESENCLAST
Perform the last AES encryption round using an 128-bit state and a round key.
AESIMC
Perform an inverse mix column transformation primitive.
AESKEYGENASSIST
Assist the creation of round keys with a key expansion schedule.
PCLMULQDQ
Perform carryless multiplication of two 64-bit numbers.
5.13
INTEL® ADVANCED VECTOR EXTENSIONS (INTEL® AVX)
Intel
®
Advanced Vector Extensions (AVX) promotes legacy 128-bit SIMD instruction sets that operate on XMM
register set to use a “vector extension“ (VEX) prefix and operates on 256-bit vector registers (YMM). Almost all
prior generations of 128-bit SIMD instructions that operates on XMM (but not on MMX registers) are promoted to
support three-operand syntax with VEX-128 encoding.
VEX-prefix encoded AVX instructions support 256-bit and 128-bit floating-point operations by extending the legacy
128-bit SIMD floating-point instructions to support three-operand syntax.
Additional functional enhancements are also provided with VEX-encoded AVX instructions.
The list of AVX instructions are listed in the following tables:
•
Table 14-2 lists 256-bit and 128-bit floating-point arithmetic instructions promoted from legacy 128-bit SIMD
instruction sets.
•
Table 14-3 lists 256-bit and 128-bit data movement and processing instructions promoted from legacy 128-bit
SIMD instruction sets.
•
Table 14-4 lists functional enhancements of 256-bit AVX instructions not available from legacy 128-bit SIMD
instruction sets.
•
Table 14-5 lists 128-bit integer and floating-point instructions promoted from legacy 128-bit SIMD instruction
sets.
•
Table 14-6 lists functional enhancements of 128-bit AVX instructions not available from legacy 128-bit SIMD
instruction sets.
•
Table 14-7 lists 128-bit data movement and processing instructions promoted from legacy instruction sets.
5.14 16-BIT
FLOATING-POINT
CONVERSION
Conversion between single-precision floating-point (32-bit) and half-precision FP (16-bit) data are provided by
VCVTPS2PH, VCVTPH2PS:
VCVTPH2PS
Convert eight/four data element containing 16-bit floating-point data into eight/four
single-precision floating-point data.
VCVTPS2PH
Convert eight/four data element containing single-precision floating-point data into
eight/four 16-bit floating-point data.