OSDN Git Service

* rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Add 64-bit support and do
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Mar 1999 21:19:46 +0000 (21:19 +0000)
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Mar 1999 21:19:46 +0000 (21:19 +0000)
        not overwrite AIX link register save area.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25608 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/rs6000/rs6000.h

index 8a48631..71781e2 100644 (file)
@@ -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
index ab830d8..f581eb8 100644 (file)
@@ -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)