https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99405
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:71c8aaf29bb122ebe5e67c84903fd23ff05f04ec commit r12-140-g71c8aaf29bb122ebe5e67c84903fd23ff05f04ec Author: Jakub Jelinek <ja...@redhat.com> Date: Tue Apr 27 10:17:45 2021 +0200 i386: Improve [QH]Imode rotates with masked shift count [PR99405] The following testcase shows that while we nicely optimize away the useless and? of shift count before rotation for [SD]Imode rotates, we don't do that for [QH]Imode. The following patch optimizes that by using the right iterator on those 4 patterns. 2021-04-27 Jakub Jelinek <ja...@redhat.com> PR target/99405 * config/i386/i386.md (*<insn><mode>3_mask, *<insn><mode>3_mask_1): For any_rotate define_insn_split and following splitters, use SWI iterator instead of SWI48. * gcc.target/i386/pr99405.c: New test.