Commit ad5d827d by Richard Henderson Committed by Richard Henderson

alpha.h (REG_ALLOC_ORDER): Reorder fp regs after integer regs of the same call-savedness.

        * config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after
        integer regs of the same call-savedness.

From-SVN: r75911
parent 66e07510
2004-01-15 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after
integer regs of the same call-savedness.
2004-01-15 Andreas Schwab <schwab@suse.de>
PR bootstrap/13562
......
......@@ -579,44 +579,30 @@ extern const char *alpha_tls_size_string; /* For -mtls-size= */
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
/* List the order in which to allocate registers. Each register must be
listed once, even those in FIXED_REGISTERS.
We allocate in the following order:
$f10-$f15 (nonsaved floating-point register)
$f22-$f30 (likewise)
$f21-$f16 (likewise, but input args)
$f0 (nonsaved, but return value)
$f1 (nonsaved, but immediate before saved)
$f2-$f9 (saved floating-point registers)
$1-$8 (nonsaved integer registers)
$22-$25 (likewise)
$28 (likewise)
$0 (likewise, but return value)
$21-$16 (likewise, but input args)
$27 (procedure value in OSF, nonsaved in NT)
$9-$14 (saved integer registers)
$26 (return PC)
$15 (frame pointer)
$29 (global pointer)
$30, $31, $f31 (stack pointer and always zero/ap & fp) */
#define REG_ALLOC_ORDER \
{42, 43, 44, 45, 46, 47, \
54, 55, 56, 57, 58, 59, 60, 61, 62, \
53, 52, 51, 50, 49, 48, \
32, 33, \
34, 35, 36, 37, 38, 39, 40, 41, \
1, 2, 3, 4, 5, 6, 7, 8, \
22, 23, 24, 25, \
28, \
0, \
21, 20, 19, 18, 17, 16, \
27, \
9, 10, 11, 12, 13, 14, \
26, \
15, \
29, \
30, 31, 63 }
listed once, even those in FIXED_REGISTERS. */
#define REG_ALLOC_ORDER { \
1, 2, 3, 4, 5, 6, 7, 8, /* nonsaved integer registers */ \
22, 23, 24, 25, 28, /* likewise */ \
0, /* likewise, but return value */ \
21, 20, 19, 18, 17, 16, /* likewise, but input args */ \
27, /* likewise, but OSF procedure value */ \
\
42, 43, 44, 45, 46, 47, /* nonsaved floating-point registers */ \
54, 55, 56, 57, 58, 59, /* likewise */ \
60, 61, 62, /* likewise */ \
32, 33, /* likewise, but return values */ \
53, 52, 51, 50, 49, 48, /* likewise, but input args */ \
\
9, 10, 11, 12, 13, 14, /* saved integer registers */ \
26, /* return address */ \
15, /* hard frame pointer */ \
\
34, 35, 36, 37, 38, 39, /* saved floating-point registers */ \
40, 41, /* likewise */ \
\
29, 30, 31, 63 /* gp, sp, ap, sfp */ \
}
/* Return number of consecutive hard regs needed starting at reg REGNO
to hold something of mode MODE.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment