-
- -- used by STG machine, or otherwise unavailable
- -- see includes/MachRegs.h for more info
-
- -- Global Regs g0-g7
- -- r0: always zero
- -- r1-r4: allocable
- -- r5-r7: reserved for OS
- | r == 0 = regs
- | r >= 5 && r <= 7 = regs
-
- -- Output Regs o0-o7
- -- caller saves
- -- r8 - r13: allocable
- -- r14: C stack ptr
- -- r15: C ret addr
- | r >= 14 && r <= 15 = regs
-
- -- Local Regs
- -- r16: allocable
- -- r17 - r21: R1-R5
- -- r22 - r23: allocable
- | r >= 17 && r <= 21 = regs
-
- -- Input Regs
- -- r24 - r29: Sp, Base, SpLim, Hp, HpLim, R6
- -- r30: C frame ptr
- -- r31: C ret addr
- | r >= 24 && r <= 31 = regs