On Thu, May 7, 2026 at 9:43 AM Andrew Pinski <[email protected]> wrote:
> On Thu, May 7, 2026 at 9:34 AM Pengxuan Zheng > <[email protected]> wrote: > > > > The original patch adding the "min|max(a+|-c,b+|-c) -> min|max(a,b)+|-c" > pattern > > missed integral type checks and caused some powerpc tests to fail. > > > > PR tree-optimization/125214 > > > > gcc/ChangeLog: > > > > * match.pd (min|max(a+|-c,b+|-c)): Add integral type check. > > Ok but please add a testcase like the one I added to the bug report. > Thanks for the review, Andrea. I've added a testcase as you suggested and pushed the patch as r17-384-g9e24eda38. Pengxuan > > Thanks, > Andrea > > > > > > Signed-off-by: Pengxuan Zheng <[email protected]> > > --- > > gcc/match.pd | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/gcc/match.pd b/gcc/match.pd > > index 1a7d820779f..04faffb760d 100644 > > --- a/gcc/match.pd > > +++ b/gcc/match.pd > > @@ -5010,7 +5010,8 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) > > (for minmax (min max) > > (simplify > > (minmax:c (plus:cs @0 @2) (plus:s @1 @2)) > > - (if (TYPE_OVERFLOW_UNDEFINED (type) > > + (if (INTEGRAL_TYPE_P (type) > > + && TYPE_OVERFLOW_UNDEFINED (type) > > && !TYPE_OVERFLOW_SANITIZED (type)) > > (plus (minmax @0 @1) @2)))) > > > > @@ -5018,7 +5019,8 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) > > (for minmax (min max) > > (simplify > > (minmax:c (minus:s @0 @2) (minus:s @1 @2)) > > - (if (TYPE_OVERFLOW_UNDEFINED (type) > > + (if (INTEGRAL_TYPE_P (type) > > + && TYPE_OVERFLOW_UNDEFINED (type) > > && !TYPE_OVERFLOW_SANITIZED (type)) > > (minus (minmax @0 @1) @2)))) > > > > -- > > 2.34.1 > > >
