On Mon, Aug 03, 2026 at 08:41:35AM -0700, Konstantinos Eleftheriou wrote:
> +  (with {
> +    tree op_type = TREE_TYPE (@op); }

Why not on a single line?
  (with { tree op_type = TREE_TYPE (@op); }
is what is normally used in match.pd.

> +  (if (INTEGRAL_TYPE_P (op_type)
> +       && TYPE_UNSIGNED (op_type)
> +       && TYPE_PRECISION (op_type) % 2 == 0
> +       && tree_fits_uhwi_p (@0)
> +       && tree_to_uhwi (@0) == wi::mask (
> +                              TYPE_PRECISION (op_type) / 2,
> +                              false,
> +                              TYPE_PRECISION (op_type))))))

This is ugly.  Can't you use instead:
       && (tree_to_uhwi (@0)
           == wi::mask (TYPE_PRECISION (op_type) / 2, false,
                        TYPE_PRECISION (op_type)))))))
?

        Jakub

Reply via email to