cmm: Expose machine's stack and return address register
[ghc.git] / includes / stg / MachRegs.h
index 417fb69..b1a0ef0 100644 (file)
 #if STOLEN_X86_REGS >= 4
 # define REG_Hp     edi
 #endif
+#define REG_MachSp  esp
 
 #define REG_XMM1    xmm0
 #define REG_XMM2    xmm1
 #define REG_R5    r8
 #define REG_R6    r9
 #define REG_SpLim r15
+#define REG_MachSp  rsp
+
+/*
+Map both Fn and Dn to register xmmn so that we can pass a function any
+combination of up to six Float# or Double# arguments without touching
+the stack. See Note [Overlapping global registers] for implications.
+*/
 
 #define REG_F1    xmm1
 #define REG_F2    xmm2
 
 #define REG_D1          d12
 #define REG_D2          d13
+#define REG_D3          d14
+#define REG_D4          d15
 
 #else