aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Edelsohn <edelsohn@mhpcc.edu>1999-03-05 21:19:46 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>1999-03-05 16:19:46 -0500
commit40ae436b588ba796cdcdd682a2435fd4223687ba (patch)
treeb9a720cee73cd32b8557556d3d21a7b0188a8ad2 /gcc
parent7d4bdeed81155efff35f8713d203d86c5733f791 (diff)
downloadgcc-40ae436b588ba796cdcdd682a2435fd4223687ba.zip
gcc-40ae436b588ba796cdcdd682a2435fd4223687ba.tar.gz
gcc-40ae436b588ba796cdcdd682a2435fd4223687ba.tar.bz2
rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Add 64-bit support and do not overwrite AIX link register save area.
* rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Add 64-bit support and do not overwrite AIX link register save area. From-SVN: r25608
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rs6000/rs6000.h10
2 files changed, 13 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8a48631..71781e2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Fri Mar 5 23:16:42 1999 David Edelsohn <edelsohn@mhpcc.edu>
+
+ * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Add 64-bit support and do
+ not overwrite AIX link register save area.
+
Fri Mar 5 23:08:01 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
* reload.c (find_reloads_subreg_address): Actually create the USE
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index ab830d8..f581eb8 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -3095,7 +3095,10 @@ do { \
#define ASM_OUTPUT_REG_PUSH(FILE,REGNO) \
do { \
extern char *reg_names[]; \
- asm_fprintf (FILE, "\t{stu|stwu} %s,-16(%s)\n\t{st|stw} %s,8(%s)\n", \
+ asm_fprintf (FILE, \
+ (TARGET_32BIT) \
+ ? "\t{stu|stwu} %s,-16(%s)\n\t{st|stw} %s,12(%s)\n" \
+ : "\tstdu %s,-32(%s)\n\tstd %s,24(%s)\n", \
reg_names[1], reg_names[1], reg_names[REGNO], \
reg_names[1]); \
} while (0)
@@ -3106,7 +3109,10 @@ do { \
#define ASM_OUTPUT_REG_POP(FILE,REGNO) \
do { \
extern char *reg_names[]; \
- asm_fprintf (FILE, "\t{l|lwz} %s,8(%s)\n\t{ai|addic} %s,%s,16\n", \
+ asm_fprintf (FILE, \
+ (TARGET_32BIT) \
+ ? "\t{l|lwz} %s,12(%s)\n\t{ai|addic} %s,%s,16\n" \
+ : "\tld %s,24(%s)\n\t{ai|addic} %s,%s,32\n", \
reg_names[REGNO], reg_names[1], reg_names[1], \
reg_names[1]); \
} while (0)