Hi David,
  I found definition of the operands in 'cbranch'. The argumnets matters.
I will create a new expand pattern for cbranchcc4. Thanks a lot for your
comments.

'cbranchmode4’
Conditional branch instruction combined with a compare instruction.
Operand 0 is a comparison operator. Operand 1 and operand 2 are the
first and second operands of the comparison, respectively. Operand 3
is the code_label to jump to.

Gui Haochen
Thanks

在 2022/11/16 11:04, David Edelsohn 写道:
> It's great to add cbranchcc4 to the Power port where it definitely was an 
> omission, but adapting *cbranch for that purpose is the wrong approach.  The 
> changes to the pattern are incorrect because they are covering up a 
> difference in ordering of the operands.  One can argue that the named pattern 
> only enables the functionality in ifcvt and the pattern otherwise is used in 
> its previous role.  But this is a Frankenstein monster approach.  You're 
> trying to twist the existing pattern so that it triggers as cbranchcc4, but 
> creating a pattern that messes up its arguments and only works because the 
> new, named pattern never is called.  This is too ugly.  Please fix.

Reply via email to