4 ms·
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 ZMM
by burnt-resistor 9mo 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 https://sandpile.org/x86/initial.htm
- bonzini 9mo agoZMM 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.