https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122891
Segher Boessenkool <segher at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |segher at gcc dot gnu.org
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
Last reconfirmed| |2025-11-28
--- Comment #2 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Yes, it of course is valid. En yes, it probably is worthwhile, there is some
low-hanging fruit to reap at least.
You need a whole bunch of patterns to recognise all the different shapes of
RTL that are the canonical RTL for the various expressions here, but perhaps
a define_predicate can help?
With xxeval you can do any logical expression of at most three operands. With
just one or two operands we can do this with a simpler instruction already,
but for three operands a single xxeval will be best, and for five operands
you can often do two xxeval's, etc.