diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bb59539acc798468eacf377c4c7e6cbdeb3d4ed1..7f50b61561ba7cbf1021df3b8e4b9e7e26aba3f0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index c9d2742860fcb94a9ca5ece00df1c26dc37db079..c8cad32133ff37f7c853a444b1f52fbe802f9536 100644 --- a/gcc/config/mips/mips.h +++ b/gcc/config/mips/mips.h @@ -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", \