https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117012

--- Comment #1 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
bisect landed on

g:aac00d09859cc5934bd0f7493d537b8430337773 is the first bad commit
commit aac00d09859cc5934bd0f7493d537b8430337773
Author: liuhongt <hongtao....@intel.com>
Date:   Thu Jun 20 12:41:13 2024 +0800

    Optimize a < 0 ? -1 : 0 to (signed)a >> 31.

    Try to optimize x < 0 ? -1 : 0 into (signed) x >> 31
    and x < 0 ? 1 : 0 into (unsigned) x >> 31.

    Move the optimization did in ix86_expand_int_vcond to match.pd

    gcc/ChangeLog:

            PR target/114189
            * match.pd: Simplify a < 0 ? -1 : 0 to (signed) >> 31 and a <
            0 ? 1 : 0 to (unsigned) a >> 31 for vector integer type.

    gcc/testsuite/ChangeLog:

            * gcc.target/i386/avx2-pr115517.c: New test.
            * gcc.target/i386/avx512-pr115517.c: New test.
            * g++.target/i386/avx2-pr115517.C: New test.
            * g++.target/i386/avx512-pr115517.C: New test.
            * g++.dg/tree-ssa/pr88152-1.C: Adjust testcase.

 gcc/match.pd                                    | 30 +++++++++++
 gcc/testsuite/g++.dg/tree-ssa/pr88152-1.C       |  2 +-
 gcc/testsuite/g++.target/i386/avx2-pr115517.C   | 60 +++++++++++++++++++++
 gcc/testsuite/g++.target/i386/avx512-pr115517.C | 70 +++++++++++++++++++++++++
 gcc/testsuite/gcc.target/i386/avx2-pr115517.c   | 33 ++++++++++++
 gcc/testsuite/gcc.target/i386/avx512-pr115517.c | 70 +++++++++++++++++++++++++
 6 files changed, 264 insertions(+), 1 deletion(-)
 create mode 100644 gcc/testsuite/g++.target/i386/avx2-pr115517.C
 create mode 100644 gcc/testsuite/g++.target/i386/avx512-pr115517.C
 create mode 100644 gcc/testsuite/gcc.target/i386/avx2-pr115517.c
 create mode 100644 gcc/testsuite/gcc.target/i386/avx512-pr115517.c

but I guess that's just exposing the issue.

Reply via email to