OSDN Git Service

Undo previous change to REG_ALLOC_ORDER.
authormeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Aug 1994 14:47:50 +0000 (14:47 +0000)
committermeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Aug 1994 14:47:50 +0000 (14:47 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7963 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/config/i386/i386.h

index 983bfc5..7c60583 100644 (file)
@@ -259,15 +259,15 @@ extern int target_flags;
 /*ax,dx,cx,bx,si,di,bp,sp,st,st1,st2,st3,st4,st5,st6,st7,arg*/ \
 {  1, 1, 1, 0, 0, 0, 0, 1, 1,  1,  1,  1,  1,  1,  1,  1,  1 }
 
-/* Order in which to allocate registers.  Each register must be
-   listed once, even those in FIXED_REGISTERS.  List frame pointer
-   late and fixed registers last.  Note that, in general, we prefer
-   registers listed in CALL_USED_REGISTERS, keeping the others
-   available for storage of persistent values.  */
-
+/* Order in which to allocate registers.  First allocate registers
+   for which no insn operand demands that register, next those that are
+   demanded by the least number of insns.  List frame pointer late and fixed 
+   egisters last.  Note that, in general, we want to put nonsaved registers
+   late, but we put bx relatively early since it is not demanded by
+   any insn operand.  */
 #define REG_ALLOC_ORDER \
-/*ax,cx,dx,bx,si,di,bp,sp,st,st1,st2,st3,st4,st5,st6,st7,arg*/ \
-{  0, 2, 1, 3, 4, 5, 6, 7, 8,  9, 10, 11, 12, 13, 14, 15, 16 }
+/*si,di,bx,cx,dx,ax,bp,sp,st,st1,st2,st3,st4,st5,st6,st7,arg*/ \
+{  4, 5, 3, 2, 1, 0, 6, 7, 8,  9, 10, 11, 12, 13, 14, 15, 16}
 
 /* Macro to conditionally modify fixed_regs/call_used_regs.  */
 #define CONDITIONAL_REGISTER_USAGE                     \