diff options
author | Alan Modra <amodra@gmail.com> | 2015-02-13 08:09:36 +1030 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2015-02-13 08:09:36 +1030 |
commit | 8ae6ac51d45d07b87546a06a376ba5e75e1f4486 (patch) | |
tree | 6458df34723a10d22b30f432d23f8642b50ecf66 | |
parent | d6d77e665ba06e719639a04ee8d2176f7e2dcd2a (diff) | |
download | gcc-8ae6ac51d45d07b87546a06a376ba5e75e1f4486.zip gcc-8ae6ac51d45d07b87546a06a376ba5e75e1f4486.tar.gz gcc-8ae6ac51d45d07b87546a06a376ba5e75e1f4486.tar.bz2 |
rs6000.c (rs6000_emit_epilogue): Use addsi3_carry or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
* config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
From-SVN: r220665
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c3ed1cb..177c2d4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-02-13 Alan Modra <amodra@gmail.com> + + * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry + or adddi3_carry when restoring frame_reg_rtx from r0 after restvr. + 2015-02-12 David Howells <dhowells@redhat.com> * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 949c4d2..4214262 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -24977,7 +24977,12 @@ rs6000_emit_epilogue (int sibcall) rtx offset = GEN_INT (end_save + ptr_off); frame_off = -end_save; - emit_insn (gen_add3_insn (frame_reg_rtx, ptr_reg, offset)); + if (TARGET_32BIT) + emit_insn (gen_addsi3_carry (frame_reg_rtx, + ptr_reg, offset)); + else + emit_insn (gen_adddi3_carry (frame_reg_rtx, + ptr_reg, offset)); } else { |