diff options
Diffstat (limited to 'llvm/lib/Target/LoongArch/Disassembler/LoongArchDisassembler.cpp')
-rw-r--r-- | llvm/lib/Target/LoongArch/Disassembler/LoongArchDisassembler.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/LoongArch/Disassembler/LoongArchDisassembler.cpp b/llvm/lib/Target/LoongArch/Disassembler/LoongArchDisassembler.cpp index beb757c78596..2335152e5ab1 100644 --- a/llvm/lib/Target/LoongArch/Disassembler/LoongArchDisassembler.cpp +++ b/llvm/lib/Target/LoongArch/Disassembler/LoongArchDisassembler.cpp @@ -114,9 +114,9 @@ static DecodeStatus decodeSImmOperand(MCInst &Inst, uint64_t Imm, int64_t Address, const MCDisassembler *Decoder) { assert(isUInt<N>(Imm) && "Invalid immediate"); - // Sign-extend the number in the bottom <N> bits of Imm, then shift left <S> + // Shift left Imm <S> bits, then sign-extend the number in the bottom <N+S> // bits. - Inst.addOperand(MCOperand::createImm(SignExtend64<N>(Imm) << S)); + Inst.addOperand(MCOperand::createImm(SignExtend64<N + S>(Imm << S))); return MCDisassembler::Success; } |