http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59459
Bug ID: 59459 Summary: MIPS target tests failing (gcc.target/mips/fpr-moves-7.c, fpr-moves-8.c, int-moves-1.c, etc) Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: sje at gcc dot gnu.org CC: richard.sandiford at linaro dot org Target: mips*-*-* Starting around December 2nd, 2013 I noticed some new MIPS test failures. These include gcc.target/mips/fpr-moves-7.c gcc.target/mips/fpr-moves-8.c gcc.target/mips/int-moves-1.c and possibly some others. Here is a cutdown test case based on fpr-moves-7.c extern unsigned char gstuff[0x10000]; __attribute__((mips16)) long double bar () { return *(long double *) (gstuff + 0x7fff); } And here is the failure, it requires the -mabi=64 -mips64r2 -EL -msoft-float -fno-pic -msym32 flags. I am not sure if this combination makes sense or not but GCC does not reject them. If I take out -msoft-float or -fno-pic or -msym32 then the compiler does reject the option combination. I think -msym32 forces the o64 ABI which technically supports mips16. install-mips-mti-linux-gnu/bin/mips-mti-linux-gnu-gcc fpr-moves-7a.c -O0 '-mab i=64' -mips64r2 -EL -msoft-float -fno-pic -msym32 -S -o fpr-moves-7.s fpr-moves-7a.c: In function 'bar': fpr-moves-7a.c:6:1: error: unrecognizable insn: } ^ (insn 8 7 9 2 (set (reg:DI 198) (unspec:DI [ (mem/c:BLK (reg/f:DI 197) [0 MEM[(long double *)&gstuff + 32767B ]+0 S8 A8]) (mem/c:QI (plus:DI (reg/f:DI 197) (const_int 7 [0x7])) [0 MEM[(long double *)&gstuff + 327 67B]+7 S1 A8]) ] UNSPEC_LOAD_LEFT)) fpr-moves-7a.c:5 -1 (nil)) fpr-moves-7a.c:6:1: internal compiler error: in extract_insn, at recog.c:2164 0x8f230a _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /local/home/sellcey/nightly/src/gcc/gcc/rtl-error.c:109 0x8f2339 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) /local/home/sellcey/nightly/src/gcc/gcc/rtl-error.c:117 0x8bf663 extract_insn(rtx_def*) /local/home/sellcey/nightly/src/gcc/gcc/recog.c:2164 0x74b9f3 instantiate_virtual_regs_in_insn /local/home/sellcey/nightly/src/gcc/gcc/function.c:1555 0x74b9f3 instantiate_virtual_regs /local/home/sellcey/nightly/src/gcc/gcc/function.c:1921 0x74b9f3 execute /local/home/sellcey/nightly/src/gcc/gcc/function.c:1971 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.