Eliminate a SIGN_EXTEND_INREG by reifying an anyext.
(sign_extend_inreg (extract_subvector (anyext v) Idx)) => (extract_subvector (sign_extend v) Idx)
Depends on D130699.
Paths
| Differential D130700
[AArch64][DAGCombine] Add pushSignExtendThroughExtractSubvector AbandonedPublic Authored by peterwaller-arm on Jul 28 2022, 4:14 AM.
Details Summary Eliminate a SIGN_EXTEND_INREG by reifying an anyext. (sign_extend_inreg (extract_subvector (anyext v) Idx)) => (extract_subvector (sign_extend v) Idx) Depends on D130699.
Diff Detail
Event Timeline
Comment Actions
Comment Actions
No reason. We updated the zext variant (D130782) to be a general combine and will do likewise here.
Revision Contents
Diff 448332 llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll
llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
llvm/test/CodeGen/AArch64/sve-fixed-length-masked-stores.ll
llvm/test/CodeGen/AArch64/vector-fcvt.ll
|
Is this necessary? What are you trying to protect against?