------- Comment #5 from kkojima at gcc dot gnu dot org  2010-04-14 04:52 -------
It looks that simply removing the problematic constraint from
doloop_end_split restores build with no performance regressions.

        * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
        in an input-only operand.       

--- ORIG/trunk/gcc/config/sh/sh.md      2010-04-12 09:52:36.000000000 +0900
+++ trunk/gcc/config/sh/sh.md   2010-04-14 10:18:47.000000000 +0900
@@ -7050,7 +7050,7 @@ label:

 (define_insn_and_split "doloop_end_split"
   [(set (pc)
-       (if_then_else (ne:SI (match_operand:SI 0 "arith_reg_dest" "+r")
+       (if_then_else (ne:SI (match_operand:SI 0 "arith_reg_dest" "")
                          (const_int 1))
                      (label_ref (match_operand 1 "" ""))
                      (pc)))


-- 


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

Reply via email to