CPUID
SSE4.1
CPUID.01H:ECX[19]
Instructions
49 mnemonics
Processors
Penryn, Nehalem, Westmere, Sandy Bridge, Ivy Bridge, Haswell, Broadwell, Skylake, Comet Lake, Cannon Lake, Ice Lake (client), Tiger Lake, Alder Lake, Arrow Lake, Panther Lake, Nova Lake, Skylake-SP, Cascade Lake, Cooper Lake, Ice Lake (server), Sapphire Rapids, Emerald Rapids, Granite Rapids, Diamond Rapids, Silvermont, Goldmont, Goldmont Plus, Tremont, Snow Ridge, Lakefield, Sierra Forest, Clearwater Forest, Knights Landing, Knights Mill, K10 (Family 10h), Bulldozer, Piledriver, Zen, Zen+, Zen 2, Zen 3, Zen 4, Zen 5, Zen 6
Linux flag
sse4_1

SSE4.1 filled gaps in the vector instruction set: blends by an immediate or by a mask in XMM0 (BLENDVPS, PBLENDVB), rounding to integers (ROUNDPS), dot products, sign and zero extension of packed integers (PMOVZXBW and relatives), 32-bit multiplies (PMULLD), minimum and maximum of more integer types, inserting and extracting elements, the test PTEST and the streaming load MOVNTDQA. It is part of x86-64-v2.

Instructions

Mnemonics with at least one form in SSE4.1. Each page lists all forms of the mnemonic, including those of other extensions.
MnemonicSummaryForms
BLENDPDPicks each double from the destination or the source, as a bit of an immediate says; SSE4.1.2
BLENDPSPicks each single from the destination or the source, as a bit of an immediate says; SSE4.1.2
BLENDVPDPicks each double from the destination or the source by the sign bit of the matching element of XMM0; SSE4.1.2
BLENDVPSPicks each single from the destination or the source by the sign bit of the matching element of XMM0; SSE4.1.2
DPPDComputes a dot product of the packed doubles, with an immediate choosing which products to add and where the sum goes.2
DPPSComputes a dot product of the packed singles, with an immediate choosing which products to add and where the sum goes.2
EXTRACTPSCopies the single that an immediate selects from an XMM register to a general-purpose register or memory; SSE4.1.2
INSERTPSInserts a single from a register or memory into an XMM register at the position an immediate gives, and can zero other elements.2
MOVNTDQALoads 16 aligned bytes with a non-temporal hint, which lets it read write-combining memory efficiently; SSE4.1.1
MPSADBWComputes eight word sums of absolute differences between a 4-byte block of the source and sliding blocks of the destination.2
PACKUSDWNarrows signed doublewords of two XMM operands to words with unsigned saturation; SSE4.1.2
PBLENDVBPicks each byte from the destination or the source by the top bit of the matching byte of XMM0; SSE4.1.2
PBLENDWPicks each word from the destination or the source, as a bit of an immediate says; SSE4.1.2
PCMPEQQCompares packed quadwords for equality, into all-ones or all-zeros quadwords; SSE4.1.2
PEXTRBCopies the byte an immediate selects from an XMM register to a general-purpose register or memory; SSE4.1.2
PEXTRDCopies the doubleword an immediate selects from an XMM register to a general-purpose register or memory; SSE4.1.2
PEXTRQCopies the quadword an immediate selects from an XMM register to a general-purpose register or memory; SSE4.1.2
PEXTRWCopies the word an immediate selects from an MMX or XMM register to a general-purpose register, or to memory (SSE4.1).2
PHMINPOSUWFinds the smallest unsigned word of an XMM operand and returns it with its index in the low two words; SSE4.1.2
PINSRBInserts a byte from a general-purpose register or memory into an XMM register at the position an immediate gives; SSE4.1.2
PINSRDInserts a doubleword from a general-purpose register or memory into an XMM register where an immediate says; SSE4.1.2
PINSRQInserts a quadword from a general-purpose register or memory into an XMM register where an immediate says; SSE4.1.2
PMAXSBReturns the larger of each pair of signed bytes; SSE4.1.2
PMAXSDReturns the larger of each pair of signed doublewords; SSE4.1.2
PMAXUDReturns the larger of each pair of unsigned doublewords; SSE4.1.2
PMAXUWReturns the larger of each pair of unsigned words; SSE4.1.2
PMINSBReturns the smaller of each pair of signed bytes; SSE4.1.2
PMINSDReturns the smaller of each pair of signed doublewords; SSE4.1.2
PMINUDReturns the smaller of each pair of unsigned doublewords; SSE4.1.2
PMINUWReturns the smaller of each pair of unsigned words; SSE4.1.2
PMOVSXBDSign-extends the four low bytes of the source to doublewords; SSE4.1.2
PMOVSXBQSign-extends the two low bytes of the source to quadwords; SSE4.1.2
PMOVSXBWSign-extends the eight low bytes of the source to words; SSE4.1.2
PMOVSXDQSign-extends the two low doublewords of the source to quadwords; SSE4.1.2
PMOVSXWDSign-extends the four low words of the source to doublewords; SSE4.1.2
PMOVSXWQSign-extends the two low words of the source to quadwords; SSE4.1.2
PMOVZXBDZero-extends the four low bytes of the source to doublewords; SSE4.1.2
PMOVZXBQZero-extends the two low bytes of the source to quadwords; SSE4.1.2
PMOVZXBWZero-extends the eight low bytes of the source to words; SSE4.1.2
PMOVZXDQZero-extends the two low doublewords of the source to quadwords; SSE4.1.2
PMOVZXWDZero-extends the four low words of the source to doublewords; SSE4.1.2
PMOVZXWQZero-extends the two low words of the source to quadwords; SSE4.1.2
PMULDQMultiplies the signed low doubleword of each quadword into 64-bit products; SSE4.1.2
PMULLDMultiplies packed doublewords and keeps the low 32 bits of each product; SSE4.1.2
PTESTSets ZF if the AND of two XMM operands is all zeros and CF if the AND of the inverted destination with the source is; SSE4.1.2
ROUNDPDRounds two packed doubles to integral values with the rounding mode of an immediate or MXCSR; SSE4.1.2
ROUNDPSRounds four packed singles to integral values with the rounding mode of an immediate or MXCSR; SSE4.1.2
ROUNDSDRounds the low double of the source to an integral value, by an immediate or MXCSR; the upper half is kept.2
ROUNDSSRounds the low single of the source to an integral value, by an immediate or MXCSR; the other elements are kept.2

CPUID and processors

XED splits SSE4.1 into 1 ISA set. Software can use a form when the processor reports every CPUID bit of one alternative of the form's ISA set.

XED ISA sets of SSE4.1. Alternatives are separated by “or”; processors follow XED’s chip model, whose AMD processors end with Zen 2, and the CPU data of this site for Zen 3 to Zen 6.
ISA setCPUIDProcessors
SSE4

SSE4.1
CPUID.01H:ECX[19] SSE4.1

Penryn, Nehalem, Westmere, Sandy Bridge, Ivy Bridge, Haswell, Broadwell, Skylake, Comet Lake, Cannon Lake, Ice Lake (client), Tiger Lake, Alder Lake, Arrow Lake, Panther Lake, Nova Lake, Skylake-SP, Cascade Lake, Cooper Lake, Ice Lake (server), Sapphire Rapids, Emerald Rapids, Granite Rapids, Diamond Rapids, Silvermont, Goldmont, Goldmont Plus, Tremont, Snow Ridge, Lakefield, Sierra Forest, Clearwater Forest, Knights Landing, Knights Mill, K10 (Family 10h), Bulldozer, Piledriver, Zen, Zen+, Zen 2, Zen 3, Zen 4, Zen 5, Zen 6

Note: XED's AMD_K10 inherits everything from its Westmere chip, including SSSE3, SSE4.1, SSE4.2, AES-NI and PCLMULQDQ; GCC's -march=amdfam10 has none of them.

Sources

  1. Intel XED v2026.08.23 (commit 0bcb6237345c): forms, encodings, ISA sets, CPUID bits and chip model.
  2. The CPU data of x86-64.net: Zen 3 to Zen 6, from GCC’s -march feature sets and AMD’s Processor Programming References, which the page of each processor cites.
  3. Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2 (325383-093, September 2026)

The tables are derived from Intel XED, Copyright Intel Corporation, licensed under the Apache License 2.0; x86-64.net converted and reformatted them. The text is our own.