https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100694
--- Comment #6 from HaoChen Gui <guihaoc at gcc dot gnu.org> --- I made a patch to convert ashift to move when the second operand is const0_rtx. With the patch, the expand dump is just like aarch64's. But the problem is still there. I tested the patch with SPECint. All the object files are the same as base. Seems it is always optimized at later passes.