https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112723
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement Keywords| |missed-optimization, TREE --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The argument case is only optimized at the RTL level: Trying 8 -> 9: 8: {r87:SI=r85:SI-0x80000000;clobber flags:CC;} REG_DEAD r85:SI REG_UNUSED flags:CC 9: {r88:SI=r87:SI<<0x1;clobber flags:CC;} REG_DEAD r87:SI REG_UNUSED flags:CC Successfully matched this instruction: (parallel [ (set (reg:SI 88) (ashift:SI (reg/v:SI 85 [ cD.2766 ]) (const_int 1 [0x1]))) (clobber (reg:CC 17 flags)) ])