The usage of target boolean checks is overly inflexible, since sext
and zext of a compare are equally cheap. The choice is arbitrary, but
using 0/1 to some degree is the choice of lower resistance since
that's what most targets use. This enables a few combines that don't
bother to support ZeroOrNegativeOneBooleanContent.
Details
Details
- Reviewers
rampitec
Diff Detail
Diff Detail
Event Timeline
Comment Actions
What about patterns like these:
def : GCNPat < (i1 (add i1:$src0, (i1 -1))), (S_NOT_B64 $src0) >; def : GCNPat < (i1 (sub i1:$src0, (i1 -1))), (S_NOT_B64 $src0) >;
will -1 still be generated or will we get 1's now and miss these patterns?
Comment Actions
The target boolean content doesn't influence this context. There's no extension here.