Re: [PATCH] match: Combine four simplify into one for. [PR63387]
Andrea Pinski <[email protected]> Mon, 3 Aug 2026 10:48:00 -0700
| Newsgroups | gmane.comp.gcc.patches |
|---|---|
| Message-ID | <CALvbMcCQXXPPffSwf1yXL68HQiWeYZ6Mf6tJbACv=mp1omOXBQ@mail.gmail.com> |
On Mon, Aug 3, 2026 at 10:21 AM Kael Andrew Franco <[email protected]> wrote: > > From b40858306e24df1622050e31224bee2ac6289481 Mon Sep 17 00:00:00 2001 > From: Kael Andrew Alonzo Franco <[email protected]> > Date: Sun, 2 Aug 2026 22:17:54 -0400 > Subject: [PATCH] match: Combine four simplify into one for. [PR63387] > > This reduce genmatch's outputted C++ code. > > Bootstrapped and regtested on x86_64-pc-linux-gnu. > > PR tree-optimization/63387 > > gcc/ChangeLog: > > * match.pd: Combine four simplify into one for. Ok. > > Signed-off-by: Kael Andrew Franco <[email protected]> > --- > gcc/match.pd | 23 +++++++++-------------- > 1 file changed, 9 insertions(+), 14 deletions(-) > > diff --git a/gcc/match.pd b/gcc/match.pd > index 00a0adaba87..8700541fc3f 100644 > --- a/gcc/match.pd > +++ b/gcc/match.pd > @@ -7958,20 +7958,15 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) > (cmp2 @0 { build_zero_cst (TREE_TYPE (@0)); })))))) > > /* Unordered tests if either argument is a NaN. */ > -(simplify > - (bit_ior (unordered @0 @0) (unordered @1 @1)) > - (if (types_match (@0, @1)) > - (unordered @0 @1))) > -(simplify > - (bit_and (ordered @0 @0) (ordered @1 @1)) > - (if (types_match (@0, @1)) > - (ordered @0 @1))) > -(simplify > - (bit_ior:c (unordered @0 @0) (unordered:c@2 @0 @1)) > - @2) > -(simplify > - (bit_and:c (ordered @0 @0) (ordered:c@2 @0 @1)) > - @2) > +(for bitop (bit_ior bit_and) > + op (unordered ordered) > + (simplify > + (bitop (op @0 @0) (op @1 @1)) > + (if (types_match (@0, @1)) > + (op @0 @1))) > + (simplify > + (bitop:c (op @0 @0) (op:c@2 @0 @1)) > + @2)) > > /* A & (2**N - 1) <= 2**K - 1 -> A & (2**N - 2**K) == 0 > A & (2**N - 1) > 2**K - 1 -> A & (2**N - 2**K) != 0 > -- > 2.55.0 > >