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

--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Richard Sandiford <rsand...@gcc.gnu.org>:

https://gcc.gnu.org/g:a1a14ce3c39c25fecf052ffde063fc0ecfc2ffa3

commit r15-6875-ga1a14ce3c39c25fecf052ffde063fc0ecfc2ffa3
Author: Richard Sandiford <richard.sandif...@arm.com>
Date:   Mon Jan 13 19:37:12 2025 +0000

    Fix build for STORE_FLAG_VALUE<0 targets [PR118418]

    In g:06c4cf398947b53b4bfc65752f9f879bb2d07924 I mishandled signed
    comparisons of comparison results on STORE_FLAG_VALUE < 0 targets
    (despite specifically referencing STORE_FLAG_VALUE in the commit
    message).  There, (lt TRUE FALSE) is true, although (ltu FALSE TRUE)
    still holds.

    Things get messy with vector modes, and since those weren't the focus
    of the original commit, it seemed better to punt on them for now.
    However, punting means that this optimisation no longer feels like
    a natural tail-call operation.  The patch therefore converts
    "return simplify..." to the usual call-and-conditional-return pattern.

    gcc/
            PR target/118418
            * simplify-rtx.cc
(simplify_context::simplify_relational_operation_1):
            Take STORE_FLAG_VALUE into account when handling signed comparisons
            of comparison results.

Reply via email to