diff --git a/src/asmjit/x86/x86assembler.cpp b/src/asmjit/x86/x86assembler.cpp index ad21293..23deac2 100644 --- a/src/asmjit/x86/x86assembler.cpp +++ b/src/asmjit/x86/x86assembler.cpp @@ -1132,8 +1132,10 @@ CaseX86M_GPB_MulDiv: case X86Inst::kEncodingX86Enter: if (isign3 == ENC_OPS2(Imm, Imm)) { - imVal = (static_cast(static_cast(o1).getUInt16()) << 0) | - (static_cast(static_cast(o0).getUInt8()) << 16) ; + uint32_t iw = static_cast(o0).getUInt16(); + uint32_t ib = static_cast(o1).getUInt8(); + + imVal = iw | (ib << 16); imLen = 3; goto EmitX86Op; }