On Sun, 13 Sept 2026 at 22:43, Jeff Law <[email protected]> wrote:
> > > On 9/13/26 1:57 PM, Dominic P wrote: > > A - MIN (B, C) -> A + MAX (-B, -C) > > A - MAX (B, C) -> A + MIN (-B, -C) > > > > when B and C are negatable. TYPE_OVERFLOW_UNDEFINED is required as well: > > for a wrapping type negate_expr_p accepts X - Y, which can be the type > > minimum. This catches A - MIN (-x, 5), which min (-A, -B) -> -max (A, B) > > does not. > > > > Bootstrapped and regression tested on x86_64-pc-linux-gnu. > > > > Assisted-by: Claude Opus 5 (Anthropic) > > > > gcc/ChangeLog: > > > > * match.pd (A - MIN (B, C), A - MAX (B, C)): New patterns. > > > > gcc/testsuite/ChangeLog: > > > > * gcc.dg/torture/minmax-negate-1.c: New test. > > * gcc.dg/tree-ssa/minmax-negate-1.c: New test. > > * gcc.dg/tree-ssa/minmax-negate-2.c: New test. > > * gcc.dg/tree-ssa/minmax-negate-3.c: New test. > > > > Signed-off-by: Dominic P <[email protected]> > THanks. I've pushed this to the trunk. > > ISTM like you ought to go ahead and get commit privs since you're doing > great work and are clearly engaged on improving GCC. > > https://gcc.gnu.org/gitwrite.html#authenticated > > Should have a link to this form: > > https://sourceware.org/cgi-bin/pdw/ps_form.cgi > > Fill it out, you can list me as sponsoring your request. > > Jeff > > Thanks for your confidence, I still have a lot to learn about GCC. Dominic
