efriedma added a comment. It looks like AArch64TargetLowering::isExtFreeImpl has some other special-cases which might be relevant here; could you add a test for `shl(sext(x))`? Repository: rL LLVM https://reviews.llvm.org/D34458