Module target_features::docs::x86

source ·
Expand description

x86 documentation

Features

FeatureDescription
adxSupport ADX instructions.
aesEnable AES instructions.
avxEnable AVX instructions.
avx2Enable AVX2 instructions.
avx512bf16Support bfloat16 floating point.
avx512bitalgEnable AVX-512 Bit Algorithms.
avx512bwEnable AVX-512 Byte and Word Instructions.
avx512cdEnable AVX-512 Conflict Detection Instructions.
avx512dqEnable AVX-512 Doubleword and Quadword Instructions.
avx512erEnable AVX-512 Exponential and Reciprocal Instructions.
avx512fEnable AVX-512 instructions.
avx512gfniEnable Galois Field Arithmetic Instructions.
avx512ifmaEnable AVX-512 Integer Fused Multiple-Add.
avx512pfEnable AVX-512 PreFetch Instructions.
avx512vaesPromote selected AES instructions to AVX512/AVX registers.
avx512vbmiEnable AVX-512 Vector Byte Manipulation Instructions.
avx512vbmi2Enable AVX-512 further Vector Byte Manipulation Instructions.
avx512vlEnable AVX-512 Vector Length eXtensions.
avx512vnniEnable AVX-512 Vector Neural Network Instructions.
avx512vp2intersectEnable AVX-512 vp2intersect.
avx512vpclmulqdqEnable vpclmulqdq instructions.
avx512vpopcntdqEnable AVX-512 Population Count Instructions.
bmi1Support BMI instructions.
bmi2Support BMI2 instructions.
cmpxchg16b64-bit with cmpxchg16b (this is true for most x86-64 chips, but not the first AMD chips).
ermsbREP MOVS/STOS are fast.
f16cSupport 16-bit floating point conversion instructions.
fmaEnable three-operand fused multiple-add.
fxsrSupport fxsave/fxrestore instructions.
gfniEnable Galois Field Arithmetic Instructions.
lzcntSupport LZCNT instruction.
movbeSupport MOVBE instruction.
pclmulqdqEnable packed carry-less multiplication instructions.
popcntSupport POPCNT instruction.
rdrandSupport RDRAND instruction.
rdseedSupport RDSEED instruction.
rtmSupport RTM instructions.
shaEnable SHA instructions.
sseEnable SSE instructions.
sse2Enable SSE2 instructions.
sse3Enable SSE3 instructions.
sse4.1Enable SSE 4.1 instructions.
sse4.2Enable SSE 4.2 instructions.
sse4aSupport SSE 4a instructions.
ssse3Enable SSSE3 instructions.
tbmEnable TBM instructions.
vaesPromote selected AES instructions to AVX512/AVX registers.
vpclmulqdqEnable vpclmulqdq instructions.
xsaveSupport xsave instructions.
xsavecSupport xsavec instructions.
xsaveoptSupport xsaveopt instructions.
xsavesSupport xsaves instructions.
crt-staticEnables C Run-time Libraries to be statically linked.

CPUs

CPUEnabled Features
alderlakeadx, aes, avx, avx2, avx512gfni, avx512vaes, avx512vpclmulqdq, bmi1, bmi2, cmpxchg16b, f16c, fma, fxsr, gfni, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, sha, sse, sse2, sse3, sse4.1, sse4.2, ssse3, vaes, vpclmulqdq, xsave, xsavec, xsaveopt, xsaves
amdfam10cmpxchg16b, fxsr, lzcnt, popcnt, sse, sse2, sse3, sse4a
athlonsse, sse2
athlon-4fxsr, sse, sse2
athlon-fxfxsr, sse, sse2
athlon-mpfxsr, sse, sse2
athlon-tbirdsse, sse2
athlon-xpfxsr, sse, sse2
athlon64fxsr, sse, sse2
athlon64-sse3cmpxchg16b, fxsr, sse, sse2, sse3
atomcmpxchg16b, fxsr, movbe, sse, sse2, sse3, ssse3
barcelonacmpxchg16b, fxsr, lzcnt, popcnt, sse, sse2, sse3, sse4a
bdver1aes, avx, cmpxchg16b, fxsr, lzcnt, pclmulqdq, popcnt, sse, sse2, sse3, sse4.1, sse4.2, sse4a, ssse3, xsave
bdver2aes, avx, bmi1, cmpxchg16b, f16c, fma, fxsr, lzcnt, pclmulqdq, popcnt, sse, sse2, sse3, sse4.1, sse4.2, sse4a, ssse3, tbm, xsave
bdver3aes, avx, bmi1, cmpxchg16b, f16c, fma, fxsr, lzcnt, pclmulqdq, popcnt, sse, sse2, sse3, sse4.1, sse4.2, sse4a, ssse3, tbm, xsave, xsaveopt
bdver4aes, avx, avx2, bmi1, bmi2, cmpxchg16b, f16c, fma, fxsr, lzcnt, movbe, pclmulqdq, popcnt, rdrand, sse, sse2, sse3, sse4.1, sse4.2, sse4a, ssse3, tbm, xsave, xsaveopt
bonnellcmpxchg16b, fxsr, movbe, sse, sse2, sse3, ssse3
broadwelladx, avx, avx2, bmi1, bmi2, cmpxchg16b, ermsb, f16c, fma, fxsr, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave, xsaveopt
btver1cmpxchg16b, fxsr, lzcnt, popcnt, sse, sse2, sse3, sse4a, ssse3
btver2aes, avx, bmi1, cmpxchg16b, f16c, fxsr, lzcnt, movbe, pclmulqdq, popcnt, sse, sse2, sse3, sse4.1, sse4.2, sse4a, ssse3, xsave, xsaveopt
c3sse, sse2
c3-2fxsr, sse, sse2
cannonlakeadx, aes, avx, avx2, avx512bw, avx512cd, avx512dq, avx512f, avx512ifma, avx512vbmi, avx512vl, bmi1, bmi2, cmpxchg16b, ermsb, f16c, fma, fxsr, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, sha, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave, xsavec, xsaveopt, xsaves
cascadelakeadx, aes, avx, avx2, avx512bw, avx512cd, avx512dq, avx512f, avx512vl, avx512vnni, bmi1, bmi2, cmpxchg16b, ermsb, f16c, fma, fxsr, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave, xsavec, xsaveopt, xsaves
cooperlakeadx, aes, avx, avx2, avx512bf16, avx512bw, avx512cd, avx512dq, avx512f, avx512vl, avx512vnni, bmi1, bmi2, cmpxchg16b, ermsb, f16c, fma, fxsr, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave, xsavec, xsaveopt, xsaves
core-avx-iavx, cmpxchg16b, f16c, fxsr, pclmulqdq, popcnt, rdrand, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave, xsaveopt
core-avx2avx, avx2, bmi1, bmi2, cmpxchg16b, ermsb, f16c, fma, fxsr, lzcnt, movbe, pclmulqdq, popcnt, rdrand, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave, xsaveopt
core2cmpxchg16b, fxsr, sse, sse2, sse3, ssse3
corei7cmpxchg16b, fxsr, popcnt, sse, sse2, sse3, sse4.1, sse4.2, ssse3
corei7-avxavx, cmpxchg16b, fxsr, pclmulqdq, popcnt, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave, xsaveopt
genericsse, sse2
geodesse, sse2
goldmontaes, cmpxchg16b, fxsr, movbe, pclmulqdq, popcnt, rdrand, rdseed, sha, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave, xsavec, xsaveopt, xsaves
goldmont-plusaes, cmpxchg16b, fxsr, movbe, pclmulqdq, popcnt, rdrand, rdseed, sha, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave, xsavec, xsaveopt, xsaves
haswellavx, avx2, bmi1, bmi2, cmpxchg16b, ermsb, f16c, fma, fxsr, lzcnt, movbe, pclmulqdq, popcnt, rdrand, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave, xsaveopt
i386sse, sse2
i486sse, sse2
i586sse, sse2
i686sse, sse2
icelake-clientadx, aes, avx, avx2, avx512bitalg, avx512bw, avx512cd, avx512dq, avx512f, avx512gfni, avx512ifma, avx512vaes, avx512vbmi, avx512vbmi2, avx512vl, avx512vnni, avx512vpclmulqdq, avx512vpopcntdq, bmi1, bmi2, cmpxchg16b, ermsb, f16c, fma, fxsr, gfni, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, sha, sse, sse2, sse3, sse4.1, sse4.2, ssse3, vaes, vpclmulqdq, xsave, xsavec, xsaveopt, xsaves
icelake-serveradx, aes, avx, avx2, avx512bitalg, avx512bw, avx512cd, avx512dq, avx512f, avx512gfni, avx512ifma, avx512vaes, avx512vbmi, avx512vbmi2, avx512vl, avx512vnni, avx512vpclmulqdq, avx512vpopcntdq, bmi1, bmi2, cmpxchg16b, ermsb, f16c, fma, fxsr, gfni, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, sha, sse, sse2, sse3, sse4.1, sse4.2, ssse3, vaes, vpclmulqdq, xsave, xsavec, xsaveopt, xsaves
ivybridgeavx, cmpxchg16b, f16c, fxsr, pclmulqdq, popcnt, rdrand, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave, xsaveopt
k6sse, sse2
k6-2sse, sse2
k6-3sse, sse2
k8fxsr, sse, sse2
k8-sse3cmpxchg16b, fxsr, sse, sse2, sse3
knladx, aes, avx, avx2, avx512cd, avx512er, avx512f, avx512pf, bmi1, bmi2, cmpxchg16b, f16c, fma, fxsr, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave, xsaveopt
knmadx, aes, avx, avx2, avx512cd, avx512er, avx512f, avx512pf, avx512vpopcntdq, bmi1, bmi2, cmpxchg16b, f16c, fma, fxsr, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave, xsaveopt
lakemontsse, sse2
nehalemcmpxchg16b, fxsr, popcnt, sse, sse2, sse3, sse4.1, sse4.2, ssse3
noconacmpxchg16b, fxsr, sse, sse2, sse3
opteronfxsr, sse, sse2
opteron-sse3cmpxchg16b, fxsr, sse, sse2, sse3
penryncmpxchg16b, fxsr, sse, sse2, sse3, sse4.1, ssse3
pentiumsse, sse2
pentium-mfxsr, sse, sse2
pentium-mmxsse, sse2
pentium2fxsr, sse, sse2
pentium3fxsr, sse, sse2
pentium3mfxsr, sse, sse2
pentium4fxsr, sse, sse2
pentium4mfxsr, sse, sse2
pentiumprosse, sse2
prescottfxsr, sse, sse2, sse3
rocketlakeadx, aes, avx, avx2, avx512bitalg, avx512bw, avx512cd, avx512dq, avx512f, avx512gfni, avx512ifma, avx512vaes, avx512vbmi, avx512vbmi2, avx512vl, avx512vnni, avx512vpclmulqdq, avx512vpopcntdq, bmi1, bmi2, cmpxchg16b, ermsb, f16c, fma, fxsr, gfni, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, sha, sse, sse2, sse3, sse4.1, sse4.2, ssse3, vaes, vpclmulqdq, xsave, xsavec, xsaveopt, xsaves
sandybridgeavx, cmpxchg16b, fxsr, pclmulqdq, popcnt, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave, xsaveopt
sapphirerapidsadx, aes, avx, avx2, avx512bf16, avx512bitalg, avx512bw, avx512cd, avx512dq, avx512f, avx512gfni, avx512ifma, avx512vaes, avx512vbmi, avx512vbmi2, avx512vl, avx512vnni, avx512vpclmulqdq, avx512vpopcntdq, bmi1, bmi2, cmpxchg16b, ermsb, f16c, fma, fxsr, gfni, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, sha, sse, sse2, sse3, sse4.1, sse4.2, ssse3, vaes, vpclmulqdq, xsave, xsavec, xsaveopt, xsaves
silvermontcmpxchg16b, fxsr, movbe, pclmulqdq, popcnt, rdrand, sse, sse2, sse3, sse4.1, sse4.2, ssse3
skxadx, aes, avx, avx2, avx512bw, avx512cd, avx512dq, avx512f, avx512vl, bmi1, bmi2, cmpxchg16b, ermsb, f16c, fma, fxsr, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave, xsavec, xsaveopt, xsaves
skylakeadx, aes, avx, avx2, bmi1, bmi2, cmpxchg16b, ermsb, f16c, fma, fxsr, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave, xsavec, xsaveopt, xsaves
skylake-avx512adx, aes, avx, avx2, avx512bw, avx512cd, avx512dq, avx512f, avx512vl, bmi1, bmi2, cmpxchg16b, ermsb, f16c, fma, fxsr, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave, xsavec, xsaveopt, xsaves
slmcmpxchg16b, fxsr, movbe, pclmulqdq, popcnt, rdrand, sse, sse2, sse3, sse4.1, sse4.2, ssse3
tigerlakeadx, aes, avx, avx2, avx512bitalg, avx512bw, avx512cd, avx512dq, avx512f, avx512gfni, avx512ifma, avx512vaes, avx512vbmi, avx512vbmi2, avx512vl, avx512vnni, avx512vp2intersect, avx512vpclmulqdq, avx512vpopcntdq, bmi1, bmi2, cmpxchg16b, ermsb, f16c, fma, fxsr, gfni, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, sha, sse, sse2, sse3, sse4.1, sse4.2, ssse3, vaes, vpclmulqdq, xsave, xsavec, xsaveopt, xsaves
tremontaes, avx512gfni, cmpxchg16b, fxsr, gfni, movbe, pclmulqdq, popcnt, rdrand, rdseed, sha, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave, xsavec, xsaveopt, xsaves
westmerecmpxchg16b, fxsr, pclmulqdq, popcnt, sse, sse2, sse3, sse4.1, sse4.2, ssse3
winchip-c6sse, sse2
winchip2sse, sse2
x86-64fxsr, sse, sse2
x86-64-v2cmpxchg16b, fxsr, popcnt, sse, sse2, sse3, sse4.1, sse4.2, ssse3
x86-64-v3avx, avx2, bmi1, bmi2, cmpxchg16b, f16c, fma, fxsr, lzcnt, movbe, popcnt, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave
x86-64-v4avx, avx2, avx512bw, avx512cd, avx512dq, avx512f, avx512vl, bmi1, bmi2, cmpxchg16b, f16c, fma, fxsr, lzcnt, movbe, popcnt, sse, sse2, sse3, sse4.1, sse4.2, ssse3, xsave
yonahfxsr, sse, sse2, sse3
znver1adx, aes, avx, avx2, bmi1, bmi2, cmpxchg16b, f16c, fma, fxsr, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, sha, sse, sse2, sse3, sse4.1, sse4.2, sse4a, ssse3, xsave, xsavec, xsaveopt, xsaves
znver2adx, aes, avx, avx2, bmi1, bmi2, cmpxchg16b, f16c, fma, fxsr, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, sha, sse, sse2, sse3, sse4.1, sse4.2, sse4a, ssse3, xsave, xsavec, xsaveopt, xsaves
znver3adx, aes, avx, avx2, avx512vaes, avx512vpclmulqdq, bmi1, bmi2, cmpxchg16b, f16c, fma, fxsr, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, sha, sse, sse2, sse3, sse4.1, sse4.2, sse4a, ssse3, vaes, vpclmulqdq, xsave, xsavec, xsaveopt, xsaves