diff --git a/llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp b/llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp index 2d36b94dd40c..18a3fdfbb47d 100644 --- a/llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp +++ b/llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp @@ -157,8 +157,8 @@ static DecodeStatus decodeImm8Operand(MCInst &Inst, uint64_t Imm, static DecodeStatus decodeImm8_sh8Operand(MCInst &Inst, uint64_t Imm, int64_t Address, const void *Decoder) { - assert(isUInt<8>(Imm) && "Invalid immediate"); - Inst.addOperand(MCOperand::createImm(SignExtend64<16>(Imm << 8))); + assert(isUInt<16>(Imm) && "Invalid immediate"); + Inst.addOperand(MCOperand::createImm(SignExtend64<16>(Imm))); return MCDisassembler::Success; }