mips.h (ASM_OUTPUT_REG_PUSH): Replace {d}subu with {d}addiu and a negative immediate...
authorSandra Loosemore <sandra@codesourcery.com>
Thu, 13 Sep 2007 14:54:12 +0000 (10:54 -0400)
committerSandra Loosemore <sandra@gcc.gnu.org>
Thu, 13 Sep 2007 14:54:12 +0000 (10:54 -0400)
2007-09-13  Sandra Loosemore  <sandra@codesourcery.com>
    David Ung  <davidu@mips.com>

gcc/
* config/mips/mips.h (ASM_OUTPUT_REG_PUSH): Replace {d}subu with
{d}addiu and a negative immediate such that it works with MIPS16
instructions.

Co-Authored-By: David Ung <davidu@mips.com>
From-SVN: r128468

gcc/ChangeLog
gcc/config/mips/mips.h

index bb59539acc798468eacf377c4c7e6cbdeb3d4ed1..7f50b61561ba7cbf1021df3b8e4b9e7e26aba3f0 100644 (file)
@@ -1,3 +1,10 @@
+2007-09-13  Sandra Loosemore  <sandra@codesourcery.com>
+           David Ung  <davidu@mips.com>
+
+       * config/mips/mips.h (ASM_OUTPUT_REG_PUSH): Replace {d}subu with
+       {d}addiu and a negative immediate such that it works with MIPS16
+       instructions.
+       
 2007-09-13  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR bootstrap/33418
index c9d2742860fcb94a9ca5ece00df1c26dc37db079..c8cad32133ff37f7c853a444b1f52fbe802f9536 100644 (file)
@@ -2781,8 +2781,8 @@ do {                                                                      \
 #define ASM_OUTPUT_REG_PUSH(STREAM,REGNO)                              \
 do                                                                     \
   {                                                                    \
-    fprintf (STREAM, "\t%s\t%s,%s,8\n\t%s\t%s,0(%s)\n",                        \
-            TARGET_64BIT ? "dsubu" : "subu",                           \
+    fprintf (STREAM, "\t%s\t%s,%s,-8\n\t%s\t%s,0(%s)\n",               \
+            TARGET_64BIT ? "daddiu" : "addiu",                         \
             reg_names[STACK_POINTER_REGNUM],                           \
             reg_names[STACK_POINTER_REGNUM],                           \
             TARGET_64BIT ? "sd" : "sw",                                \