diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-06-01 18:33:59 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-06-01 18:33:59 -0400 |
commit | a127c4e57b96ffeaea615eebf1a486ceec26ee03 (patch) | |
tree | 7532257ac1dc566a757ff7b4c6b1eaa89a35f7e9 | |
parent | 06bb02f78eaaee12e4e8b44ed3b6fae8e9e661a1 (diff) | |
download | gcc-a127c4e57b96ffeaea615eebf1a486ceec26ee03.zip gcc-a127c4e57b96ffeaea615eebf1a486ceec26ee03.tar.gz gcc-a127c4e57b96ffeaea615eebf1a486ceec26ee03.tar.bz2 |
(FIXED_R13): Default to 0.
({FIXED,CALL_USED}_REGISTERS): Use FIXED_R13 for register 13.
From-SVN: r9863
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index bcdec1d..130426f 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -453,10 +453,16 @@ extern char *rs6000_cpu_string; On RS/6000, r1 is used for the stack and r2 is used as 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. */ + +#ifndef FIXED_R13 +#define FIXED_R13 0 +#endif #define FIXED_REGISTERS \ - {0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + {0, 1, 1, 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, \ @@ -470,7 +476,7 @@ extern char *rs6000_cpu_string; Aside from that, you can include as many other registers as you like. */ #define CALL_USED_REGISTERS \ - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, \ + {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, FIXED_R13, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |