[PATCH] match: Combine four simplify into one for. [PR63387]
Kael Andrew Franco <[email protected]> Mon, 3 Aug 2026 13:20:09 -0400
| Newsgroups | gmane.comp.gcc.patches |
|---|---|
| Message-ID | <CACAb0qdC7JGCO0+VnevQtEaKFvMAJ6T0WM2bVDwkzQrNDzHWsw@mail.gmail.com> |
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. 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