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

--- Comment #14 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Wilco Dijkstra <wi...@gcc.gnu.org>:

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

commit r14-9343-gb575f37a342cebb954aa85fa45df0604bfa1ada9
Author: Wilco Dijkstra <wilco.dijks...@arm.com>
Date:   Wed Mar 6 17:35:16 2024 +0000

    ARM: Fix conditional execution [PR113915]

    By default most patterns can be conditionalized on Arm targets.  However
    Thumb-2 predication requires the "predicable" attribute be explicitly
    set to "yes".  Most patterns are shared between Arm and Thumb(-2) and are
    marked with "predicable".  Given this sharing, it does not make sense to
    use a different default for Arm.  So only consider conditional execution
    of instructions that have the predicable attribute set to yes.  This
ensures
    that patterns not explicitly marked as such are never conditionally
executed.

    gcc/ChangeLog:
            PR target/113915
            * config/arm/arm.md (NOCOND): Improve comment.
            (arm_rev*) Add predicable.
            * config/arm/arm.cc (arm_final_prescan_insn): Add check for
            PREDICABLE_YES.

    gcc/testsuite/ChangeLog:
            PR target/113915
            * gcc.target/arm/builtin-bswap-1.c: Fix test to allow conditional
            execution both for Arm and Thumb-2.

Reply via email to