diff options
author | Moritz Angermann <moritz.angermann@gmail.com> | 2020-07-19 00:00:00 +0000 |
---|---|---|
committer | Moritz Angermann <moritz.angermann@gmail.com> | 2020-09-09 09:58:43 +0800 |
commit | 5e5690d82901a4a65568d78dafc15efbe3d069ec (patch) | |
tree | 72f2a01240e8a437cfe0e81dece42b9b43c8778a | |
parent | 7e08a0acaff3406244f2fdf76019cf610a4fce8d (diff) | |
download | haskell-5e5690d82901a4a65568d78dafc15efbe3d069ec.tar.gz |
Make sp an Operand
-rw-r--r-- | compiler/GHC/CmmToAsm/AArch64/Instr.hs | 3 | ||||
-rw-r--r-- | compiler/GHC/CmmToAsm/AArch64/Regs.hs | 5 |
2 files changed, 5 insertions, 3 deletions
diff --git a/compiler/GHC/CmmToAsm/AArch64/Instr.hs b/compiler/GHC/CmmToAsm/AArch64/Instr.hs index e27b59e64e..c5a4a256a7 100644 --- a/compiler/GHC/CmmToAsm/AArch64/Instr.hs +++ b/compiler/GHC/CmmToAsm/AArch64/Instr.hs @@ -603,9 +603,10 @@ data Operand opReg :: Width -> Reg -> Operand opReg = OpReg -xzr, wzr :: Operand +xzr, wzr, sp :: Operand xzr = OpReg W64 (RegReal (RealRegSingle (-1))) wzr = OpReg W32 (RegReal (RealRegSingle (-1))) +sp = OpReg W64 (RegReal (RealRegSingle 31)) _x :: Int -> Operand _x i = OpReg W64 (RegReal (RealRegSingle i)) diff --git a/compiler/GHC/CmmToAsm/AArch64/Regs.hs b/compiler/GHC/CmmToAsm/AArch64/Regs.hs index b392ab1772..b5107faff3 100644 --- a/compiler/GHC/CmmToAsm/AArch64/Regs.hs +++ b/compiler/GHC/CmmToAsm/AArch64/Regs.hs @@ -46,8 +46,9 @@ allFpArgRegs = map regSingle [32..39] -- 22-27: R1-R6 -- 28: SpLim -sp :: Reg -sp = regSingle 20 +-- This is the STG Sp reg. +-- sp :: Reg +-- sp = regSingle 20 -- addressing modes ------------------------------------------------------------ |