------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-07-31 08:35 ------- Subject: Bug 20621
CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_4-branch Changes by: [EMAIL PROTECTED] 2005-07-31 08:35:16 Modified files: gcc : ChangeLog gcc/testsuite : ChangeLog gcc/config/mips: mips-protos.h mips.c mips.md Added files: gcc/testsuite/gcc.c-torture/execute: pr20621-1.c Log message: PR target/20621 Backport from mainline: 2004-08-01 Richard Sandiford <[EMAIL PROTECTED]> * config/mips/mips.md (cprestore): Provide two alternatives, one for an in-range offset and one for an out-of-range offset. Wrap the latter in .set macro/.set nomacro if it's inside a .set nomacro block. 2004-08-01 Richard Sandiford <[EMAIL PROTECTED]> * config/mips/mips-protos.h (mips_gp_save_slot): Remove. (mips_restore_gp): Declare. * config/mips/mips.c (mips_add_offset): Add a scratch register argument. Reimplement in rtl only, reusing MIPS16 logic from mips_output_mi_thunk. (mips_legitimize_address, mips_legitimize_const_move): Adjust calls to mips_add_offset. (mips_gp_save_slot): Delete. (mips_restore_gp): New function. (mips_set_return_address, mips_output_mi_thunk): Use mips_add_offset. * config/mips/mips.md (exception_receiver): Turn into a define_insn_and_split. Use mips_restore_gp to do the split. (call_internal, call_value_internal, call_value_multiple_internal): Use mips_restore_gp to restore $gp. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.892&r2=2.2326.2.893 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3389.2.415&r2=1.3389.2.416 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/execute/pr20621-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=NONE&r2=1.1.4.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/mips/mips-protos.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.59.4.4&r2=1.59.4.5 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/mips/mips.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.362.4.17&r2=1.362.4.18 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/mips/mips.md.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.211.4.11&r2=1.211.4.12 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20621