Commit 5dead3e5 by Dale Johannesen Committed by Stan Shebs

rs6000.h (FIXED_REGISTERS): Use FIXED_R2.

2001-09-17  Dale Johannesen  <dalej@apple.com>

        * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
        * config/rs6000/aix.h (FIXED_R2): Define.
        * config/rs6000/darwin.h (FIXED_R2): Define.
        * config/rs6000/sysv4.h (FIXED_R2): Define.

From-SVN: r45669
parent 5d5e5e4e
2001-09-17 Dale Johannesen <dalej@apple.com>
* config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
* config/rs6000/aix.h (FIXED_R2): Define.
* config/rs6000/darwin.h (FIXED_R2): Define.
* config/rs6000/sysv4.h (FIXED_R2): Define.
2001-09-17 Jeff Sturm <jsturm@one-point.com> 2001-09-17 Jeff Sturm <jsturm@one-point.com>
* except.c (dw2_build_landing_pads): New local * except.c (dw2_build_landing_pads): New local
......
...@@ -161,6 +161,7 @@ Boston, MA 02111-1307, USA. */ ...@@ -161,6 +161,7 @@ Boston, MA 02111-1307, USA. */
#define TARGET_NO_TOC 0 #define TARGET_NO_TOC 0
#define TARGET_TOC 1 #define TARGET_TOC 1
#define FIXED_R2 1
/* AIX allows r13 to be used. */ /* AIX allows r13 to be used. */
#define FIXED_R13 0 #define FIXED_R13 0
......
...@@ -39,6 +39,8 @@ Boston, MA 02111-1307, USA. */ ...@@ -39,6 +39,8 @@ Boston, MA 02111-1307, USA. */
#define CC1_SPEC "%{!static:-fPIC}" #define CC1_SPEC "%{!static:-fPIC}"
/* Make both r2 and r3 available for allocation. */
#define FIXED_R2 0
#define FIXED_R13 0 #define FIXED_R13 0
#undef TARGET_DEFAULT #undef TARGET_DEFAULT
......
...@@ -641,14 +641,15 @@ extern int rs6000_debug_arg; /* debug argument handling */ ...@@ -641,14 +641,15 @@ extern int rs6000_debug_arg; /* debug argument handling */
/* 1 for registers that have pervasive standard uses /* 1 for registers that have pervasive standard uses
and are not available for the register allocator. and are not available for the register allocator.
On RS/6000, r1 is used for the stack and r2 is used as the TOC pointer. On RS/6000, r1 is used for the stack. On Darwin, r2 is available
as a local register; for all other OS's r2 is the TOC pointer.
cr5 is not supposed to be used. cr5 is not supposed to be used.
On System V implementations, r13 is fixed and not available for use. */ On System V implementations, r13 is fixed and not available for use. */
#define FIXED_REGISTERS \ #define FIXED_REGISTERS \
{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, FIXED_R13, 0, 0, \ {0, 1, FIXED_R2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, FIXED_R13, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
......
...@@ -314,9 +314,9 @@ do { \ ...@@ -314,9 +314,9 @@ do { \
#undef PROCESSOR_DEFAULT #undef PROCESSOR_DEFAULT
#define PROCESSOR_DEFAULT PROCESSOR_PPC750 #define PROCESSOR_DEFAULT PROCESSOR_PPC750
#define FIXED_R2 1
/* System V.4 uses register 13 as a pointer to the small data area, /* System V.4 uses register 13 as a pointer to the small data area,
so it is not available to the normal user. */ so it is not available to the normal user. */
#define FIXED_R13 1 #define FIXED_R13 1
/* Size of the V.4 varargs area if needed. */ /* Size of the V.4 varargs area if needed. */
......
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