| ▲ | burnt-resistor 8 hours ago | |
Conservatively though, another answer could be when not considering subset registers as distinct: 16 GP 2 state (flags + IP) 6 seg 4 TRs 11 control 32 ZMM0-31 (repurposes 8 FPU GP regs) 1 MXCSR 6 FPU state 28 important MSRs 7 bounds 6 debug 8 masks 8 CET 10 FRED ========= 145 total And don't forget another 10-20 for the local APIC. "The answer" depends upon the purpose and a specific set of optional extensions. Function call, task switching between processes in an OS, and emulation virtual machine process state have different requirements and expectations. YMMV. Here's a good list for reference: https://sandpile.org/x86/initial.htm | ||
| ▲ | bonzini 4 hours ago | parent [-] | |
ZMM registers are separate from the 8 FPU registers. That's because the ZMM set is separate from MM registers. So there's 8 more. In hardware, however, renaming resources are shared between ST/MM registers and the eight Kn mask registers. | ||