------- Comment #4 from kkojima at gcc dot gnu dot org  2006-11-07 02:40 -------
If the comparison with a constant is removed from cbranchdi4_i,
the 2nd test case and the original ifcvt.c are compiled successfully.

--- ORIG/trunk/gcc/config/sh/sh.md      2006-11-05 10:02:45.000000000 +0900
+++ TMP/trunk/gcc/config/sh/sh.md       2006-11-07 09:34:22.000000000 +0900
@@ -713,11 +713,11 @@
 (define_insn_and_split "cbranchdi4_i"
   [(set (pc)
        (if_then_else (match_operator 0 "comparison_operator"
-                       [(match_operand:DI 1 "arith_operand" "r,r")
-                        (match_operand:DI 2 "arith_operand" "rN,i")])
+                       [(match_operand:DI 1 "arith_operand" "r")
+                        (match_operand:DI 2 "arith_operand" "rN")])
                      (label_ref (match_operand 3 "" ""))
                      (pc)))
-   (clobber (match_scratch:SI 4 "=X,&r"))
+   (clobber (match_scratch:SI 4 "=X"))
    (clobber (reg:SI T_REG))]
   "TARGET_CBRANCHDI4"
   "#"


-- 


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

Reply via email to