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
