From f60608a9c096cd8a5690729008fb5eae1a157b61 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Wed, 15 Nov 2023 12:31:02 -0400 Subject: [PATCH] OpcodeDispatcher: allow garbage for 32bit inc/dec Signed-off-by: Alyssa Rosenzweig --- FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp b/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp index 897bcf986..a1d73df69 100644 --- a/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp +++ b/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp @@ -3663,7 +3663,7 @@ void OpDispatchBuilder::INCOp(OpcodeArgs) { Dest = _AtomicFetchAdd(OpSizeFromSrc(Op), OneConst, DestAddress); } else { - Dest = LoadSource(GPRClass, Op, Op->Dest, Op->Flags); + Dest = LoadSource(GPRClass, Op, Op->Dest, Op->Flags, {.AllowUpperGarbage = Size >= 32}); } Result = _Add(Size == 64 ? OpSize::i64Bit : OpSize::i32Bit, Dest, OneConst); @@ -3694,7 +3694,7 @@ void OpDispatchBuilder::DECOp(OpcodeArgs) { DestAddress = AppendSegmentOffset(DestAddress, Op->Flags); Dest = _AtomicFetchSub(OpSizeFromSrc(Op), OneConst, DestAddress); } else { - Dest = LoadSource(GPRClass, Op, Op->Dest, Op->Flags); + Dest = LoadSource(GPRClass, Op, Op->Dest, Op->Flags, {.AllowUpperGarbage = Size >= 32}); } Result = _Sub(Size == 64 ? OpSize::i64Bit : OpSize::i32Bit, Dest, OneConst);