On Thu, 17 Nov 2022 at 17:39, Jeff Law <jeffreya...@gmail.com> wrote: > > > 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.
I'll send a v2 with this cleaned up (and look into clarifying things around the FAIL). Philipp.