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.