diff options
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp')
-rw-r--r-- | llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp b/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp index afacfa5c90f..6c538c9741d 100644 --- a/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp +++ b/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp @@ -646,7 +646,7 @@ bool AArch64DAGToDAGISel::SelectAddrModeIndexed7S(SDValue N, unsigned Size, if (ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(N.getOperand(1))) { int64_t RHSC = RHS->getSExtValue(); unsigned Scale = Log2_32(Size); - if ((RHSC & (Size - 1)) == 0 && RHSC >= (-0x40 << Scale) && + if ((RHSC & (Size - 1)) == 0 && RHSC >= -(0x40 << Scale) && RHSC < (0x40 << Scale)) { Base = N.getOperand(0); if (Base.getOpcode() == ISD::FrameIndex) { |