Hi!

On Sun, May 31, 2026 at 05:03:10PM +0200, Georg-Johann Lay wrote:
> Am 30.05.26 um 16:48 schrieb Segher Boessenkool:
> > Prior to RA you have the predicates only.  During RA and reload you
> > have to satisfy both the predicates and the constraints.  After reload
> > only the constraints matter.
> 
> As far as I know there's at least one exception: RTL peepholes.

peephole2's, surely :-)  Old peepholes are a lot of fun, but even I do
not trust people who think such fun is fun :-)

> They use the predicates for matching, ignoring the constrains.

Maybe some do, but in general the condition is just any piece of C code
resulting in zero or non-zero.  Reusing existing predicates is not such
a great idea, see the confusion it apparently causes :-)

> Such a peephole2 must FAIL when it can't digest some operand combo.

In the preparation statement, yeah.  Exacly like in define_expand and
define_split as well :-)  Some things in GCC are nice and regular, as
unbelievable as that may sound!


Segher

Reply via email to