https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117930
--- Comment #3 from GCC 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:4abcf4ad38a4081f02ed09aed7892a3a6af61cbb commit r15-6010-g4abcf4ad38a4081f02ed09aed7892a3a6af61cbb Author: Jakub Jelinek <ja...@redhat.com> Date: Sat Dec 7 11:40:12 2024 +0100 i386: x r<< (c - y) to x r>> y etc. optimization [PR117930] The following patch optimizes x r<< (c - y) to x r>> y, x r>> (c - y) to x r<< y, x r<< (c + y) to x r<< y and x r>> (c + y) to x r>> y if c is a multiple of x's bitsize. 2024-12-07 Jakub Jelinek <ja...@redhat.com> PR target/117930 * config/i386/i386.md (crotate): New define_code_attr. (*<insn><mode>3_add, *<insn><mode>3_add_1, *<insn><mode>3_sub, *<insn><mode>3_sub_1): New define_insn_and_split patterns plus following define_split for constant first input operand. * gcc.target/i386/pr117930.c: New test.