------- 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

Reply via email to