On 11/17/22 08:12, Philipp Tomsich wrote:

This serves as an assertion only, as that case is non-sensical and
will be optimized away by earlier passes (as "a & C == T" with C and T
sharing no bits will always be false).
IFAIK the preceding transforms should always clean such a check up,
but we can't exclude the possibility that with enough command line
overrides and params we might see such a non-sensical test making it
all the way to the backend.

Good!  I was thinking in the back of my mind that the no-sharing-bits case should have been handled in the generic optimizers.  Thanks for clarifying.



What would you recommend? Adding this to the pattern's condition feels
a bit redundant.

We can leave it in the splitter.


In fact, I am leaning towards hiding the !SMALL_OPERAND check in yet
another predicate that combines const_twobits_operand with a
match_test for !SMALL_OPERAND.

Sure.

jeff


Reply via email to