On Tue, Jan 3, 2023 at 2:17 PM Roger Sayle <ro...@nextmovesoftware.com> wrote:
>
>
> This patch is an update/tweak of Andrew Pinski's two patches for
> PR tree-optimization/92342, that were originally posted back in November:
> https://gcc.gnu.org/pipermail/gcc-patches/2021-November/585111.html
> https://gcc.gnu.org/pipermail/gcc-patches/2021-November/585112.html
>
> Technically, the first of those was approved by Richard Biener, though
> never committed, and my first thought was to simply push it for Andrew,
> but the review of the second piece expressed concerns over comparisons
> in non-integral modes, where the result may not be zero-one valued.
> Indeed both transformations misbehave in the presence of vector mode
> comparisons (these transformations are already implemented for
> vec_cond elsewhere in match.pd), so my minor contribution is to limit
> these new transformations to scalars, by testing that both the operands
> and results are INTEGRAL_TYPE_P.
>
> This patch has been tested on x86_64-pc-linux-gnu with make bootstrap
> and make -k check, both with and without --target_board=unix{-m32},
> with no new failures.  Ok for mainline?

OK.

Thanks,
Richard.

>
> 2023-01-03  Andrew Pinski  <apin...@marvell.com>
>             Roger Sayle  <ro...@nextmovesoftware.com>
>
> gcc/ChangeLog:
>         PR tree-optimization/92342
>         * match.pd ((m1 CMP m2) * d -> (m1 CMP m2) ? d : 0):
>         Use tcc_comparison and :c for the multiply.
>         (b & -(a CMP c) -> (a CMP c)?b:0): New pattern.
>
> gcc/testsuite/ChangeLog:
>         PR tree-optimization/92342
>         * gcc.dg/tree-ssa/andnegcmp-1.c: New test.
>         * gcc.dg/tree-ssa/andnegcmp-2.c: New test.
>         * gcc.dg/tree-ssa/multcmp-1.c: New test.
>         * gcc.dg/tree-ssa/multcmp-1.c: New test.
>
>
> Thanks in advance (and thanks to Andrew).
> Roger
> --
>

Reply via email to