aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/pa/pa32-regs.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/pa/pa32-regs.h')
-rw-r--r--gcc/config/pa/pa32-regs.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/gcc/config/pa/pa32-regs.h b/gcc/config/pa/pa32-regs.h
index 3a51324..d2ba2f6 100644
--- a/gcc/config/pa/pa32-regs.h
+++ b/gcc/config/pa/pa32-regs.h
@@ -119,7 +119,8 @@
registers will generally not be allocated across a call).
Experimentation has shown slightly better results by allocating
- FP registers first.
+ FP registers first. We allocate the caller-saved registers more
+ or less in reverse order to their allocation as arguments.
FP registers are ordered so that all L registers are selected before
R registers. This works around a false dependency interlock on the
@@ -130,14 +131,14 @@
{ \
/* caller-saved fp regs. */ \
68, 70, 72, 74, 76, 78, 80, 82, \
- 84, 86, 40, 42, 44, 46, 32, 34, \
- 36, 38, \
+ 84, 86, 40, 42, 44, 46, 38, 36, \
+ 34, 32, \
69, 71, 73, 75, 77, 79, 81, 83, \
- 85, 87, 41, 43, 45, 47, 33, 35, \
- 37, 39, \
+ 85, 87, 41, 43, 45, 47, 39, 37, \
+ 35, 33, \
/* caller-saved general regs. */ \
- 19, 20, 21, 22, 23, 24, 25, 26, \
- 27, 28, 29, 31, 2, \
+ 28, 19, 20, 21, 22, 31, 27, 29, \
+ 23, 24, 25, 26, 2, \
/* callee-saved fp regs. */ \
48, 50, 52, 54, 56, 58, 60, 62, \
64, 66, \