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

--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Saurabh Jha <saurabh...@gcc.gnu.org>:

https://gcc.gnu.org/g:20ce363c557d6458ec3193ab4e7df760fbe34976

commit r15-4079-g20ce363c557d6458ec3193ab4e7df760fbe34976
Author: Saurabh Jha <saurabh....@arm.com>
Date:   Thu Oct 3 13:16:31 2024 +0000

    aarch64: Fix bug with max/min (PR116934)

    In ac4cdf5cb43c0b09e81760e2a1902ceebcf1a135, I introduced a bug where
    I put the new unspecs, UNSPEC_COND_SMAX and UNSPEC_COND_SMIN, into the
    wrong iterator.

    I should have put new unspecs in SVE_COND_FP_MAXMIN but I put it in
    SVE_COND_FP_BINARY_REG instead. That was incorrect because the
    SVE_COND_FP_MAXMIN iterator is being used for predicated floating-point
    maximum/minimum, not SVE_COND_FP_BINARY_REG.

    Also added a testcase to validate the new change.

    Regression tested on aarch64-unknown-linux-gnu and found no regressions.
    There are some test cases with "libitm" in their directory names which
    appear in compare_tests output as changed tests but it looks like they
    are in the output just because of changed build directories, like from
    build-patched/aarch64-unknown-linux-gnu/./libitm/* to
    build-pristine/aarch64-unknown-linux-gnu/./libitm/*. I didn't think it
    was a cause of concern and have pushed this for review.

    gcc/ChangeLog:

            PR target/116934
            * config/aarch64/iterators.md: Move UNSPEC_COND_SMAX and
            UNSPEC_COND_SMIN to correct iterators.

    gcc/testsuite/ChangeLog:

            PR target/116934
            * gcc.target/aarch64/sve2/pr116934.c: New test.

Reply via email to