Skip to content

Commit 4839cc1

Browse files
authored
[AArch64] Remove unnecessary extloadi32 -> i32 pattern. NFCI (#159527)
As far as I can tell this load pattern will not perform anything as it could only trigger from a i32 MemVT extended to a i32.
1 parent 370ea51 commit 4839cc1

File tree

1 file changed

+1
-3
lines changed

1 file changed

+1
-3
lines changed

llvm/lib/Target/AArch64/AArch64InstrInfo.td

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3844,22 +3844,20 @@ let AddedComplexity = 10 in {
38443844
}
38453845

38463846

3847-
// zextload -> i64
3847+
// zextload -> i32
38483848
multiclass ExtLoadTo32ROPat<ROAddrMode ro, SDPatternOperator loadop,
38493849
Instruction INSTW, Instruction INSTX> {
38503850
def : Pat<(i32 (loadop (ro.Wpat GPR64sp:$Rn, GPR32:$Rm, ro.Wext:$extend))),
38513851
(INSTW GPR64sp:$Rn, GPR32:$Rm, ro.Wext:$extend)>;
38523852

38533853
def : Pat<(i32 (loadop (ro.Xpat GPR64sp:$Rn, GPR64:$Rm, ro.Xext:$extend))),
38543854
(INSTX GPR64sp:$Rn, GPR64:$Rm, ro.Xext:$extend)>;
3855-
38563855
}
38573856

38583857
let AddedComplexity = 10 in {
38593858
// extload -> zextload
38603859
defm : ExtLoadTo32ROPat<ro8, extloadi8, LDRBBroW, LDRBBroX>;
38613860
defm : ExtLoadTo32ROPat<ro16, extloadi16, LDRHHroW, LDRHHroX>;
3862-
defm : ExtLoadTo32ROPat<ro32, extloadi32, LDRWroW, LDRWroX>;
38633861

38643862
// zextloadi1 -> zextloadi8
38653863
defm : ExtLoadTo32ROPat<ro8, zextloadi1, LDRBBroW, LDRBBroX>;

0 commit comments

Comments
 (0)