diff --git a/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp b/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp index 235dbc41c4bef..54bdb8750f709 100644 --- a/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp +++ b/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp @@ -947,7 +947,7 @@ bool AArch64DAGToDAGISel::SelectRDSVLShiftImm(SDValue N, SDValue &Imm) { if (!isa(N)) return false; - int64_t MulImm = 1 << cast(N)->getSExtValue(); + int64_t MulImm = 1LL << cast(N)->getSExtValue(); if (MulImm >= Low && MulImm <= High) { Imm = CurDAG->getSignedTargetConstant(MulImm, SDLoc(N), MVT::i32); return true;