aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-06-01 18:33:59 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-06-01 18:33:59 -0400
commita127c4e57b96ffeaea615eebf1a486ceec26ee03 (patch)
tree7532257ac1dc566a757ff7b4c6b1eaa89a35f7e9
parent06bb02f78eaaee12e4e8b44ed3b6fae8e9e661a1 (diff)
downloadgcc-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.h12
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, \