Instruction
LZCNT
Counts the leading zero bits of an operand; APX adds a form that leaves the flags unchanged.
Forms
| Instruction | Encoding | Requires |
|---|---|---|
LZCNT r16/32/64, m16/32/64
LZCNT_GPRv_MEMv | F3 0F BD /r | LZCNT |
LZCNT r16/32/64, r16/32/64
LZCNT_GPRv_GPRv | F3 0F BD /r | LZCNT |
LZCNT r16/32/64, r16/32/64
LZCNT_GPRv_GPRv_APX | EVEX.LLZ.NP.MAP4.SCALABLE F5 /r | APX_F + LZCNT |
LZCNT r16/32/64, m16/32/64
LZCNT_GPRv_MEMv_APX | EVEX.LLZ.NP.MAP4.SCALABLE F5 /r | APX_F + LZCNT |
LZCNT r16/32/64, r16/32/64 NF
LZCNT_GPRv_GPRv_APX_N3 | EVEX.LLZ.NP.MAP4.SCALABLE F5 /r NF=1 | APX_F + APX_NCI_NDD_NF + LZCNT |
LZCNT r16/32/64, m16/32/64 NF
LZCNT_GPRv_MEMv_APX_N3 | EVEX.LLZ.NP.MAP4.SCALABLE F5 /r NF=1 | APX_F + APX_NCI_NDD_NF + LZCNT |
CPUID and processors
Each form belongs to an XED ISA set. A form can be used when the processor reports every CPUID bit of one of its ISA set's alternatives.
| ISA set | CPUID | Processors in XED |
|---|---|---|
LZCNT | LZCNT | 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, Sierra Forest, Clearwater Forest, Knights Landing, Knights Mill, K10 (Family 10h), Bulldozer, Piledriver, Zen, Zen+, Zen 2 |
APX_F_LZCNT | APX_F + LZCNT | Nova Lake, Diamond Rapids |
APX_F_LZCNT_N3 | APX_F + APX_NCI_NDD_NF + LZCNT | Nova Lake, Diamond Rapids |
More APX instructions
Sources
- Intel XED v2026.08.23 (commit
0bcb6237345c): forms, encodings, ISA sets, CPUID bits and chip model. - Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2 (325383-092, June 2026)
- Intel Advanced Performance Extensions (Intel APX) Architecture Specification, revision 7.0 (July 2025)
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.