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

--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Earnshaw <rearn...@gcc.gnu.org>:

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

commit r14-8499-gbad991a1c5960e90c4686a9362a1258ef29e195b
Author: Matthieu Longo <matthieu.lo...@arm.com>
Date:   Mon Jan 29 15:54:35 2024 +0000

    arm: Add pattern for bswap + rotate -> rev16 [Bug 108933]

    The rev16 pattern was not recognised anymore as a change in the bswap
    tree pass was introducing a new GIMPLE form, not recognized by the
    assembly final transformation pass.

    Also, fix the output patterns for arm_rev16si_alt[12] to correctly
    handle the instructions being made conditional.

    More details in the PR.

    gcc/ChangeLog:

            PR target/108933
            * config/arm/arm.md (arm_rev16si2): Convert to define_insn.
            Correct generated RTL.
            (arm_rev16si2_alt1): Correctly handle conditional execution.
            (arm_rev16si2_alt2): Likewise.

    gcc/testsuite/ChangeLog:

            PR target/108933
            * gcc.target/arm/rev16.c: Moved to...
            * gcc.target/arm/rev16_1.c: ...here.
            * gcc.target/arm/rev16_2.c: New test to check that rev16 is
emitted.

Reply via email to