This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/49606] mips64: o64 Unrecognizable insn when one noreturn function calling another noreturn function


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49606

--- Comment #5 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> 2011-09-05 19:39:30 UTC ---
Author: rsandifo
Date: Mon Sep  5 19:39:27 2011
New Revision: 178557

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=178557
Log:
gcc/
    PR target/49606
    * config/mips/mips.h (ABI_HAS_64BIT_SYMBOLS): Check Pmode.
    (PMODE_INSN): New macro.
    * config/mips/mips.c (gen_load_const_gp): Use PMODE_INSN.
    (mips_got_load, mips_expand_synci_loop): Likewise.
    (mips_save_gp_to_cprestore_slot): Handle SImode and DImode
    cprestore patterns.
    (mips_emit_loadgp): Use PMODE_INSN.  Handle SImode and DImode
    copygp_mips16 patterns.
    (mips_expand_prologue): Handle SImode and DImode potential_cprestore
    and use_cprestore patterns.
    (mips_override_options): Check for incompatible -mabi and -mlong
    combinations.
    * config/mips/mips.md (unspec_got<mode>): Rename to...
    (unspec_got_<mode>): ...this.
    (copygp_mips16): Use the Pmode iterator.
    (potential_cprestore, cprestore, use_cprestore): Likewise.
    (clear_cache, indirect_jump): Use PMODE_INSN.
    (indirect_jump<mode>): Rename to...
    (indirect_jump_<mode>): ...this.
    (tablejump): Use PMODE_INSN.
    (tablejump<mode>): Rename to...
    (tablejump_<mode>): ...this.
    (exception_receiver): Handle restore_gp_si and restore_gp_di.
    (restore_gp): Use the Pmode iterator.
    * config/mips/mips-dsp.md (mips_lbux, mips_lhx, mips_lwx): Use
    PMODE_INSN.

gcc/testsuite/
    PR target/49606
    * gcc.target/mips/abi-main.h: New file.
    * gcc.target/mips/abi-o32-long32.c: New test.
    * gcc.target/mips/abi-o32-long64.c: Likewise.
    * gcc.target/mips/abi-o64-long32.c: Likewise.
    * gcc.target/mips/abi-o64-long64.c: Likewise.
    * gcc.target/mips/abi-n32-long32.c: Likewise.
    * gcc.target/mips/abi-n32-long64.c: Likewise.
    * gcc.target/mips/abi-n64-long32.c: Likewise.
    * gcc.target/mips/abi-n64-long64.c: Likewise.
    * gcc.target/mips/abi-o32-long32-no-shared.c: Likewise.
    * gcc.target/mips/abi-o32-long64-no-shared.c: Likewise.
    * gcc.target/mips/abi-o64-long32-no-shared.c: Likewise.
    * gcc.target/mips/abi-o64-long64-no-shared.c: Likewise.
    * gcc.target/mips/abi-n32-long32-no-shared.c: Likewise.
    * gcc.target/mips/abi-n32-long64-no-shared.c: Likewise.
    * gcc.target/mips/abi-n64-long32-no-shared.c: Likewise.
    * gcc.target/mips/abi-n64-long64-no-shared.c: Likewise.
    * gcc.target/mips/abi-o32-long32-pic.c: Likewise.
    * gcc.target/mips/abi-o32-long64-pic.c: Likewise.
    * gcc.target/mips/abi-o64-long32-pic.c: Likewise.
    * gcc.target/mips/abi-o64-long64-pic.c: Likewise.
    * gcc.target/mips/abi-n32-long32-pic.c: Likewise.
    * gcc.target/mips/abi-n32-long64-pic.c: Likewise.
    * gcc.target/mips/abi-n64-long32-pic.c: Likewise.
    * gcc.target/mips/abi-n64-long64-pic.c: Likewise.
    * gcc.target/mips/abi-eabi32-long32.c: Likewise.
    * gcc.target/mips/abi-eabi32-long64.c: Likewise.
    * gcc.target/mips/abi-eabi64-long32.c: Likewise.
    * gcc.target/mips/abi-eabi64-long64.c: Likewise.
    * gcc.target/mips/mips.exp: Make -mshared implied -mabicalls.
    * gcc.target/mips/branch-2.c: Remove -mabicalls.
    * gcc.target/mips/branch-3.c: Likewise.
    * gcc.target/mips/branch-4.c: Likewise.
    * gcc.target/mips/branch-5.c: Likewise.
    * gcc.target/mips/branch-6.c: Likewise.
    * gcc.target/mips/branch-7.c: Likewise.
    * gcc.target/mips/branch-8.c: Likewise.
    * gcc.target/mips/branch-9.c: Likewise.
    * gcc.target/mips/branch-10.c: Likewise.
    * gcc.target/mips/branch-11.c: Likewise.
    * gcc.target/mips/branch-12.c: Likewise.
    * gcc.target/mips/branch-13.c: Likewise.
    * gcc.target/mips/lazy-binding-1.c: Likewise.

Added:
    trunk/gcc/testsuite/gcc.target/mips/abi-eabi32-long32.c
    trunk/gcc/testsuite/gcc.target/mips/abi-eabi32-long64.c
    trunk/gcc/testsuite/gcc.target/mips/abi-eabi64-long32.c
    trunk/gcc/testsuite/gcc.target/mips/abi-eabi64-long64.c
    trunk/gcc/testsuite/gcc.target/mips/abi-main.h
    trunk/gcc/testsuite/gcc.target/mips/abi-n32-long32-no-shared.c
    trunk/gcc/testsuite/gcc.target/mips/abi-n32-long32-pic.c
    trunk/gcc/testsuite/gcc.target/mips/abi-n32-long32.c
    trunk/gcc/testsuite/gcc.target/mips/abi-n32-long64-no-shared.c
    trunk/gcc/testsuite/gcc.target/mips/abi-n32-long64-pic.c
    trunk/gcc/testsuite/gcc.target/mips/abi-n32-long64.c
    trunk/gcc/testsuite/gcc.target/mips/abi-n64-long32-no-shared.c
    trunk/gcc/testsuite/gcc.target/mips/abi-n64-long32-pic.c
    trunk/gcc/testsuite/gcc.target/mips/abi-n64-long32.c
    trunk/gcc/testsuite/gcc.target/mips/abi-n64-long64-no-shared.c
    trunk/gcc/testsuite/gcc.target/mips/abi-n64-long64-pic.c
    trunk/gcc/testsuite/gcc.target/mips/abi-n64-long64.c
    trunk/gcc/testsuite/gcc.target/mips/abi-o32-long32-no-shared.c
    trunk/gcc/testsuite/gcc.target/mips/abi-o32-long32-pic.c
    trunk/gcc/testsuite/gcc.target/mips/abi-o32-long32.c
    trunk/gcc/testsuite/gcc.target/mips/abi-o32-long64-no-shared.c
    trunk/gcc/testsuite/gcc.target/mips/abi-o32-long64-pic.c
    trunk/gcc/testsuite/gcc.target/mips/abi-o32-long64.c
    trunk/gcc/testsuite/gcc.target/mips/abi-o64-long32-no-shared.c
    trunk/gcc/testsuite/gcc.target/mips/abi-o64-long32-pic.c
    trunk/gcc/testsuite/gcc.target/mips/abi-o64-long32.c
    trunk/gcc/testsuite/gcc.target/mips/abi-o64-long64-no-shared.c
    trunk/gcc/testsuite/gcc.target/mips/abi-o64-long64-pic.c
    trunk/gcc/testsuite/gcc.target/mips/abi-o64-long64.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/mips/mips-dsp.md
    trunk/gcc/config/mips/mips.c
    trunk/gcc/config/mips/mips.h
    trunk/gcc/config/mips/mips.md
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.target/mips/branch-10.c
    trunk/gcc/testsuite/gcc.target/mips/branch-11.c
    trunk/gcc/testsuite/gcc.target/mips/branch-12.c
    trunk/gcc/testsuite/gcc.target/mips/branch-13.c
    trunk/gcc/testsuite/gcc.target/mips/branch-2.c
    trunk/gcc/testsuite/gcc.target/mips/branch-3.c
    trunk/gcc/testsuite/gcc.target/mips/branch-4.c
    trunk/gcc/testsuite/gcc.target/mips/branch-5.c
    trunk/gcc/testsuite/gcc.target/mips/branch-6.c
    trunk/gcc/testsuite/gcc.target/mips/branch-7.c
    trunk/gcc/testsuite/gcc.target/mips/branch-8.c
    trunk/gcc/testsuite/gcc.target/mips/branch-9.c
    trunk/gcc/testsuite/gcc.target/mips/lazy-binding-1.c
    trunk/gcc/testsuite/gcc.target/mips/mips.exp


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]