summaryrefslogtreecommitdiff
path: root/includes/CodeGen.Platform.hs
diff options
context:
space:
mode:
Diffstat (limited to 'includes/CodeGen.Platform.hs')
-rw-r--r--includes/CodeGen.Platform.hs9
1 files changed, 3 insertions, 6 deletions
diff --git a/includes/CodeGen.Platform.hs b/includes/CodeGen.Platform.hs
index 664942d878..dbd4cc9f90 100644
--- a/includes/CodeGen.Platform.hs
+++ b/includes/CodeGen.Platform.hs
@@ -885,12 +885,10 @@ freeRegBase _ = True
#elif defined(MACHREGS_powerpc)
freeReg 0 = False -- Used by code setting the back chain pointer
- -- in stack reallocations on Linux
- -- r0 is not usable in all insns so also reserved
- -- on Darwin.
+ -- in stack reallocations on Linux.
+ -- Moreover r0 is not usable in all insns.
freeReg 1 = False -- The Stack Pointer
-# if !defined(MACHREGS_darwin)
--- most non-darwin powerpc OSes use r2 as a TOC pointer or something like that
+-- most ELF PowerPC OSes use r2 as a TOC pointer
freeReg 2 = False
freeReg 13 = False -- reserved for system thread ID on 64 bit
-- at least linux in -fPIC relies on r30 in PLT stubs
@@ -903,7 +901,6 @@ freeReg 30 = False
Then use r12 as temporary register, which is also what the C ABI does.
-}
-# endif
# if defined(REG_Base)
freeReg REG_Base = False
# endif