This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

PATCH: Change pa FP register alloc order


OK, here is the simple patch to rearrange the register allocation order
for PA platforms.  I haven't seen any performance problems on 1.1
processors so the change is directly to REG_ALLOC_ORDER.  If you still
want, I'll go back and make it switchable.

Here is the changelog entry:

Fri Feb 26 13:05:09 EST 1999  Jerry Quinn <jquinn@nortelnetworks.com>

	* config/pa/pa.h (REG_ALLOC_ORDER): Change order to allocate float L
regs before R regs

--- origsrc/gcc/config/pa/pa.h  Thu Feb 25 09:59:30 1999
+++ src/gcc/config/pa/pa.h      Thu Feb 25 10:08:33 1999
@@ -563,23 +563,29 @@
    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 single-precision problem on PA8000
+   where the L and R halves of a register are interlocked.  */
 
 #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,      \



-- 
Jerry Quinn                             Tel: (514) 761-8737
jquinn@nortelnetworks.com               Fax: (514) 761-8505
Speech Recognition Research


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]