[Bug target/58158] [4.8/4.9 Regression] ICE with conditional moves on GPRs with a floating point conditional on mipsel with loongson2f

biergaizi2009 at gmail dot com gcc-bugzilla@gcc.gnu.org
Wed Jan 1 04:27:00 GMT 2014


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

--- Comment #12 from Tom Li <biergaizi2009 at gmail dot com> ---
And I just applied Aaro Koskinen's patch on gcc 4.8.2, recompile gcc and
resolve this issue.

Patch for 4.8.2:

--- gcc-4.8.2/gcc/config/mips/mips.md   2013-02-25 21:53:16.000000000 +0800
+++ gcc-4.8.2-fixed/gcc/config/mips/mips.md     2013-12-31 20:23:26.021484375
+0800
@@ -6715,6 +6715,9 @@
                          (match_operand:GPR 3 "reg_or_0_operand")))]
   "ISA_HAS_CONDMOVE"
 {
+  if (!ISA_HAS_FP_CONDMOVE &&
+      GET_MODE_CLASS (GET_MODE (XEXP (operands[1], 0))) != MODE_INT)
+    FAIL;
   mips_expand_conditional_move (operands);
   DONE;
 })



More information about the Gcc-bugs mailing list