[AArch64] Transform shift+and to shift+shift to select more shifted register
authorchenglin.bi <chenglin.bi@linaro.org>
Tue, 6 Dec 2022 15:28:04 +0000 (23:28 +0800)
committerchenglin.bi <chenglin.bi@linaro.org>
Tue, 6 Dec 2022 15:29:56 +0000 (23:29 +0800)
commit5cd900ce3c6edd9e0d9b163c9d6cf7f38688d2ee
tree75b39a466c1b330146eff5eb8f40256eda36afc2
parent6b1396e31fb57795b3e2007a0345e0859f01fd99
[AArch64] Transform shift+and to shift+shift to select more shifted register

and (shl/srl/sra, x, c), mask --> shl (srl/sra, x, c1), c2

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D138904
llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
llvm/test/CodeGen/AArch64/shiftregister-from-and.ll