From 45a1df85f847b827aa6da555ee5679baa2731b61 Mon Sep 17 00:00:00 2001 From: William Chen Date: Wed, 3 Nov 2021 01:25:46 -0700 Subject: [PATCH] Handling of pre/post indexing memopnd in strldr memprop opt --- src/mapleall/maple_be/src/cg/aarch64/aarch64_strldr.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mapleall/maple_be/src/cg/aarch64/aarch64_strldr.cpp b/src/mapleall/maple_be/src/cg/aarch64/aarch64_strldr.cpp index 32113e53b6..4412abcefd 100644 --- a/src/mapleall/maple_be/src/cg/aarch64/aarch64_strldr.cpp +++ b/src/mapleall/maple_be/src/cg/aarch64/aarch64_strldr.cpp @@ -687,7 +687,9 @@ void AArch64StoreLoadOpt::SelectPropMode(AArch64MemOperand &currMemOpnd) { AArch64MemOperand::AArch64AddressingMode currAddrMode = currMemOpnd.GetAddrMode(); switch (currAddrMode) { case AArch64MemOperand::kAddrModeBOi: - propMode = kPropBase; + if (!currMemOpnd.IsPreIndexed() && !currMemOpnd.IsPostIndexed()) { + propMode = kPropBase; + } break; case AArch64MemOperand::kAddrModeBOrX: propMode = kPropOffset; -- Gitee