pa.h (REG_ALLOC_ORDER): Change order to allocate left half of float regs before right...
authorJerry Quinn <jquinn@nortelnetworks.com>
Sat, 27 Feb 1999 22:23:31 +0000 (22:23 +0000)
committerJeff Law <law@gcc.gnu.org>
Sat, 27 Feb 1999 22:23:31 +0000 (15:23 -0700)
        * pa.h (REG_ALLOC_ORDER): Change order to allocate left half of
        float regs before right half of float regs.

Co-Authored-By: Mike Stump <mrs@wrs.com>
From-SVN: r25488

gcc/ChangeLog
gcc/config/pa/pa.h

index 93871bcd44508afed9f7441d0f9784068e9cf5ab..f5a8d22d4a76fb7fa0cc163e35f88816c35a1db5 100644 (file)
@@ -1,3 +1,9 @@
+Sat Feb 27 23:21:47 1999  Jerry Quinn <jquinn@nortelnetworks.com>
+                         Mike Stump <mrs@wrs.com>
+
+       * pa.h (REG_ALLOC_ORDER): Change order to allocate left half of
+       float regs before right half of float regs.
+
 Sat Feb 27 22:48:38 1999  H.J. Lu  (hjl@gnu.org)
                          Jeffrey A Law  (law@cygnus.com)
 
index 37f3de78e71dbce9394ed8c3abab886bd4997cfe..955fb93d33f7c59a0ef8d7150db08b38355e6923 100644 (file)
@@ -563,23 +563,30 @@ do {                                                              \
    registers will generally not be allocated across a call).
 
    Experimentation has shown slightly better results by allocating
-   FP registers first.  */
+   FP registers first.  
+
+   FP registers are ordered so that all L registers are selected before
+   R registers.  This works around a false dependency interlock on the
+   PA8000 when accessing the high and low parts of an FP register
+   independently.  */
 
 #define REG_ALLOC_ORDER \
  {                                     \
   /* caller-saved fp regs.  */         \
-  68, 69, 70, 71, 72, 73, 74, 75,      \
-  76, 77, 78, 79, 80, 81, 82, 83,      \
-  84, 85, 86, 87,                      \
-  40, 41, 42, 43, 44, 45, 46, 47,      \
-  32, 33, 34, 35, 36, 37, 38, 39,      \
+  68, 70, 72, 74, 76, 78, 80, 82,      \
+  84, 86, 40, 42, 44, 46, 32, 34,      \
+  36, 38,                              \
+  69, 71, 73, 75, 77, 79, 81, 83,      \
+  85, 87, 41, 43, 45, 47, 33, 35,      \
+  37, 39,                              \
   /* caller-saved general regs.  */    \
   19, 20, 21, 22, 23, 24, 25, 26,      \
   27, 28, 29, 31,  2,                  \
   /* callee-saved fp regs.  */         \
-  48, 49, 50, 51, 52, 53, 54, 55,      \
-  56, 57, 58, 59, 60, 61, 62, 63,      \
-  64, 65, 66, 67,                      \
+  48, 50, 52, 54, 56, 58, 60, 62,      \
+  64, 66,                              \
+  49, 51, 53, 55, 57, 59, 61, 63,      \
+  65, 67,                              \
   /* callee-saved general regs.  */    \
    3,  4,  5,  6,  7,  8,  9, 10,      \
   11, 12, 13, 14, 15, 16, 17, 18,      \