From c9f972ae46e7410fc340cea477887e7b6a2a6c96 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Fri, 29 Mar 2024 17:22:53 -0400 Subject: [PATCH] OpcodeDispatcher: drop result masking for shifts flag calcs are fine with upper garbage. Signed-off-by: Alyssa Rosenzweig --- FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp b/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp index 2e6c6637a1..96304fd279 100644 --- a/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp +++ b/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp @@ -1579,10 +1579,6 @@ void OpDispatchBuilder::SHLOp(OpcodeArgs) { OrderedNode *Result = _Lshl(Size == 64 ? OpSize::i64Bit : OpSize::i32Bit, Dest, Src); StoreResult(GPRClass, Op, Result, -1); - if (Size < 32) { - Result = _Bfe(OpSize::i32Bit, Size, 0, Result); - } - if constexpr (SHL1Bit) { GenerateFlags_ShiftLeftImmediate(Op, Result, Dest, 1); } @@ -1789,9 +1785,6 @@ void OpDispatchBuilder::SHRDOp(OpcodeArgs) { StoreResult(GPRClass, Op, Res, -1); - if (Size != 64) { - Res = _Bfe(OpSize::i64Bit, Size, 0, Res); - } GenerateFlags_ShiftRight(Op, Res, Dest, Shift); }