On Mon, Jul 27, 2026 at 9:50 AM Kael Andrew Franco
<[email protected]> wrote:
>
> From 3480be32c5827d1d881374af406dd514dc25019f Mon Sep 17 00:00:00 2001
> From: Kael Andrew Alonzo Franco <[email protected]>
> Date: Sun, 26 Jul 2026 22:13:37 -0400
> Subject: [PATCH] match: Combine two for into one for.
>
> This simplifies r5-4683, r5-4899, and r6-2617.
>
> Bootstrapped and regtested on x86_64-pc-linux-gnu.
>
> gcc/ChangeLog:
>
> * match.pd: Combine two for into one for.

Ok, thanks for the cleanup.

>
> Signed-off-by: Kael Andrew Franco <[email protected]>
> ---
>  gcc/match.pd | 12 ++++--------
>  1 file changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/gcc/match.pd b/gcc/match.pd
> index 536d5125a0b..62d08093125 100644
> --- a/gcc/match.pd
> +++ b/gcc/match.pd
> @@ -2514,16 +2514,12 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
>  (simplify
>   (bit_and:c @0 (logical_inverted_value @0))
>   { build_zero_cst (type); })
> -/* X | !X and X ^ !X -> 1, , if X is truth-valued.  */
> -(for op (bit_ior bit_xor)
> - (simplify
> -  (op:c truth_valued_p@0 (logical_inverted_value @0))
> -  { constant_boolean_node (true, type); }))
> -/* X ==/!= !X is false/true.  */
> -(for op (eq ne)
> +/* X | !X and X ^ !X -> 1, , if X is truth-valued.
> +   X ==/!= !X is false/true.  */
> +(for op (bit_ior bit_xor eq ne)
>   (simplify
>    (op:c truth_valued_p@0 (logical_inverted_value @0))
> -  { constant_boolean_node (op == NE_EXPR ? true : false, type); }))
> +  { constant_boolean_node (op == EQ_EXPR ? false : true, type); }))
>
>  /* ~~x -> x */
>  (simplify
> --
> 2.55.0
>
>

Reply via email to