I have a patch to upgrade most genrecog warnings into errors.  This patch
fixes one for m32c about stzx_16 and stzx_24_<mode> allowing constant integers
as destinations (as in, that's what the predicates would accept).

Tested by building m32c-elf with the warnings turned to errors, and by
comparing the before and after assembly output at -O2 for gcc.c-torture,
gcc.dg and g++.dg.  OK to install?

Thanks,
Richard


gcc/
        * config/m32c/cond.md (stzx_16): Use register_operand for operand 0.
        (stzx_24_<mode>): Likewise mra_operand.

Index: gcc/config/m32c/cond.md
===================================================================
--- gcc/config/m32c/cond.md     2013-11-16 21:52:15.083787117 +0000
+++ gcc/config/m32c/cond.md     2013-11-16 21:58:58.823042647 +0000
@@ -75,7 +75,7 @@ (define_insn "bcc_op"
 )
 
 (define_insn "stzx_16"
-  [(set (match_operand:QI 0 "mrai_operand" "=R0w,R0w,R0w")
+  [(set (match_operand:QI 0 "register_operand" "=R0w,R0w,R0w")
        (if_then_else:QI (eq (reg:CC FLG_REGNO) (const_int 0))
                         (match_operand:QI 1 "const_int_operand" "i,i,0")
                         (match_operand:QI 2 "const_int_operand" "i,0,i")))]
@@ -88,7 +88,7 @@ (define_insn "stzx_16"
 )
 
 (define_insn "stzx_24_<mode>"
-  [(set (match_operand:QHI 0 "mrai_operand" "=RraSd,RraSd,RraSd")
+  [(set (match_operand:QHI 0 "mra_operand" "=RraSd,RraSd,RraSd")
        (if_then_else:QHI (eq (reg:CC FLG_REGNO) (const_int 0))
                         (match_operand:QHI 1 "const_int_operand" "i,i,0")
                         (match_operand:QHI 2 "const_int_operand" "i,0,i")))]

Reply via email to