https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89954
--- Comment #11 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Uros Bizjak <u...@gcc.gnu.org>: https://gcc.gnu.org/g:6f4459c478b1c09e4b5e7d629fbf46d2a4fe4560 commit r12-3991-g6f4459c478b1c09e4b5e7d629fbf46d2a4fe4560 Author: Uros Bizjak <ubiz...@gmail.com> Date: Thu Sep 30 19:33:49 2021 +0200 i386: Eliminate sign extension after logic operation [PR89954] Convert (sign_extend:WIDE (any_logic:NARROW (memory, immediate))) to (any_logic:WIDE (sign_extend (memory)), (sign_extend (immediate))). This eliminates sign extension after logic operation. 2021-09-30 Uroš Bizjak <ubiz...@gmail.com> gcc/ PR target/89954 * config/i386/i386.md (sign_extend:WIDE (any_logic:NARROW (memory, immediate)) splitters): New splitters. gcc/testsuite/ PR target/89954 * gcc.target/i386/pr89954.c: New test.