"Rohit Arul Raj" <[EMAIL PROTECTED]> writes:

> I have used cbranchmode4 instruction to generate combined compare and
> branch instruction.
> 
> (define_insn "cbranchmode4"
>  (set (pc) (if_then_else
>               (match_operator:CC 0 "comparison_operator"
>                 [ (match_operand:SI 1  "register_operand"  "r,r")
>                   (match_operand:SI 2 "nonmemory_operand" "O,r")])
>               (label_ref (match_operand 3 "" ""))
>               (pc)))]
> This pattern matches if the code is of the form
> 
> if ( h == 1)
>  p = 0;
> 
> if the code is of the form
> if (h), if (h >= 0)
> p = 0;
> 
> Then it matches the seperate compare and branch instructions and not
> cbranch instruction.
> 
> Can anyone point out where i am going wrong?

If you have a cbranch insn, and you want that one to always be
recognized, then why do you also have separate compare and branch
insns?

Ian

Reply via email to