------- Comment #3 from ubizjak at gmail dot com 2008-11-05 10:04 ------- I guess this issue can be fixed by following (untested) trivial patch:
--cut here-- Index: mips.md =================================================================== --- mips.md (revision 141602) +++ mips.md (working copy) @@ -4508,7 +4508,7 @@ rtx low = mips_subword (operands[1], 0); rtx high = mips_subword (operands[1], 1); emit_insn (gen_load_low<mode> (operands[0], low)); - if (ISA_HAS_MXHC1) + if (TARGET_HARD_FLOAT && ISA_HAS_MXHC1) emit_insn (gen_mthc1<mode> (operands[0], high, operands[0])); else emit_insn (gen_load_high<mode> (operands[0], high, operands[0])); @@ -4518,7 +4518,7 @@ rtx low = mips_subword (operands[0], 0); rtx high = mips_subword (operands[0], 1); emit_insn (gen_store_word<mode> (low, operands[1], const0_rtx)); - if (ISA_HAS_MXHC1) + if (TARGET_HARD_FLOAT && ISA_HAS_MXHC1) emit_insn (gen_mfhc1<mode> (high, operands[1])); else emit_insn (gen_store_word<mode> (high, operands[1], const1_rtx)); --cut here-- Nebu, can you bootstrap and regression test this patch on your target? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37362