From 951fee361f71b714a2f6ccc44325eacb28b7d892 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Fri, 31 May 2024 21:57:54 -0400 Subject: [PATCH] OpcodeDispatcher: optimize shld Signed-off-by: Alyssa Rosenzweig --- FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp b/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp index caa497509..4d4e437a5 100644 --- a/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp +++ b/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp @@ -1578,12 +1578,12 @@ void OpDispatchBuilder::SHLDOp(OpcodeArgs) { } void OpDispatchBuilder::SHLDImmediateOp(OpcodeArgs) { - OrderedNode* Src = LoadSource(GPRClass, Op, Op->Src[0], Op->Flags); - OrderedNode* Dest = LoadSource(GPRClass, Op, Op->Dest, Op->Flags); - uint64_t Shift = LoadConstantShift(Op, false); const auto Size = GetSrcBitSize(Op); + OrderedNode* Src = LoadSource(GPRClass, Op, Op->Src[0], Op->Flags, {.AllowUpperGarbage = Size >= 32}); + OrderedNode* Dest = LoadSource(GPRClass, Op, Op->Dest, Op->Flags, {.AllowUpperGarbage = Size >= 32}); + if (Shift != 0) { OrderedNode* Res {}; if (Size < 32) {