From: Evandro Menezes Date: Tue, 12 Nov 2019 20:13:30 +0000 (-0600) Subject: [AArch64] Fix addressing mode predicates X-Git-Tag: llvmorg-11-init~4435 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=98856e3943de698f8c1d940c08bdbf50f04937b4;p=platform%2Fupstream%2Fllvm.git [AArch64] Fix addressing mode predicates Fix predicates related to the register offset addressing mode. --- diff --git a/llvm/lib/Target/AArch64/AArch64SchedPredicates.td b/llvm/lib/Target/AArch64/AArch64SchedPredicates.td index e155652..028ad22 100644 --- a/llvm/lib/Target/AArch64/AArch64SchedPredicates.td +++ b/llvm/lib/Target/AArch64/AArch64SchedPredicates.td @@ -41,7 +41,7 @@ let FunctionMapper = "AArch64_AM::getMemExtendType" in { // Check for scaling in the register offset addressing mode. let FunctionMapper = "AArch64_AM::getMemDoShift" in -def CheckMemScaled : CheckImmOperandSimple<3>; +def CheckMemScaled : CheckImmOperandSimple<4>; // Check the shifting type in arithmetic and logic instructions. let FunctionMapper = "AArch64_AM::getShiftType" in { @@ -319,7 +319,8 @@ def IsLoadRegOffsetOp : CheckOpcode<[PRFMroW, PRFMroX, LDRBroW, LDRBroX, LDRHroW, LDRHroX, LDRSroW, LDRSroX, - LDRDroW, LDRDroX]>; + LDRDroW, LDRDroX, + LDRQroW, LDRQroX]>; // Identify whether an instruction is a load // using the register offset addressing mode. @@ -330,7 +331,8 @@ def IsStoreRegOffsetOp : CheckOpcode<[STRBBroW, STRBBroX, STRBroW, STRBroX, STRHroW, STRHroX, STRSroW, STRSroX, - STRDroW, STRDroX]>; + STRDroW, STRDroX, + STRQroW, STRQroX]>; // Identify whether an instruction is a load or // store using the register offset addressing mode.