top | item 47015820

(no title)

noelwelsh | 16 days ago

This is how many registers the ISA exposes, but not the number of registers actually in the CPU. Typical CPUs have hundreds of registers. For example, Zen 4 's integer register file has 224 registers, and the FP/vector register file has 192 registers (per Wikipedia). This is useful to know because it can effect behavior. E.g. I've seen results where doing a register allocation pass with a large number of registers, followed by a pass with the number of registers exposed in the ISA, leads to better performance.

discuss

order

saagarjha|16 days ago

What compilers do this?

noelwelsh|15 days ago

One writeup I know about is: "Smlnj: Intel x86 back end compiler controlled memory."