From ba13ccadb8e650b61cd49d5670e4107856d4e778 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 20 May 2025 15:52:14 -0400 Subject: [PATCH] OpcodeDispatcher: use ArithRef for 8/16-bit imul Signed-off-by: Alyssa Rosenzweig --- FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp b/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp index 988681603..7f51ec6ce 100644 --- a/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp +++ b/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp @@ -2543,7 +2543,7 @@ void OpDispatchBuilder::IMUL2SrcOp(OpcodeArgs) { case OpSize::i8Bit: case OpSize::i16Bit: { Src1 = _Sbfe(OpSize::i64Bit, SizeBits, 0, Src1); - Src2 = _Sbfe(OpSize::i64Bit, SizeBits, 0, Src2); + Src2 = ARef(Src2).Sbfe(0, SizeBits).Ref(); Dest = _Mul(OpSize::i64Bit, Src1, Src2); ResultHigh = _Sbfe(OpSize::i64Bit, SizeBits, SizeBits, Dest); break;