diff options
author | David Edelsohn <edelsohn@mhpcc.edu> | 1999-03-05 21:19:46 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 1999-03-05 16:19:46 -0500 |
commit | 40ae436b588ba796cdcdd682a2435fd4223687ba (patch) | |
tree | b9a720cee73cd32b8557556d3d21a7b0188a8ad2 /gcc | |
parent | 7d4bdeed81155efff35f8713d203d86c5733f791 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 10 |
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) |