PowerPC: Improve float register assignment.
authorPeter Trommler <ptrommler@acm.org>
Tue, 16 Feb 2016 21:44:25 +0000 (22:44 +0100)
committerBen Gamari <ben@smart-cactus.org>
Tue, 16 Feb 2016 21:44:36 +0000 (22:44 +0100)
On Linux assign F5 and F6 and D3 through D6 to caller-saved registers.

Fixes #11273

Test Plan: validate on powerpc (I validated on powerpc64)

Reviewers: bgamari, erikd, austin

Reviewed By: erikd, austin

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D1914

GHC Trac Issues: #11273

includes/stg/MachRegs.h

index ce4ebf4..ab1a421 100644 (file)
@@ -332,9 +332,15 @@ the stack. See Note [Overlapping global registers] for implications.
 #define REG_F2          fr15
 #define REG_F3          fr16
 #define REG_F4          fr17
-
-#define REG_D1          fr18
-#define REG_D2          fr19
+#define REG_F5          fr18
+#define REG_F6          fr19
+
+#define REG_D1          fr20
+#define REG_D2          fr21
+#define REG_D3          fr22
+#define REG_D4          fr23
+#define REG_D5          fr24
+#define REG_D6          fr25
 
 #endif