From 19eff62c77d86155702b48518666507ea9a27b96 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Thu, 21 Sep 2023 08:50:12 -0400 Subject: [PATCH] OpcodeDispatcher: Use orlshl for FCW Potentially easier on the RA (bfi has a tied operand), mostly whatever here. Signed-off-by: Alyssa Rosenzweig --- FEXCore/Source/Interface/Core/OpcodeDispatcher/X87.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/FEXCore/Source/Interface/Core/OpcodeDispatcher/X87.cpp b/FEXCore/Source/Interface/Core/OpcodeDispatcher/X87.cpp index f9385c081..f60ba221c 100644 --- a/FEXCore/Source/Interface/Core/OpcodeDispatcher/X87.cpp +++ b/FEXCore/Source/Interface/Core/OpcodeDispatcher/X87.cpp @@ -100,10 +100,10 @@ OrderedNode *OpDispatchBuilder::ReconstructFSW() { auto C2 = GetRFLAG(FEXCore::X86State::X87FLAG_C2_LOC); auto C3 = GetRFLAG(FEXCore::X86State::X87FLAG_C3_LOC); - FSW = _Bfi(OpSize::i64Bit, 1, 8, FSW, C0); - FSW = _Bfi(OpSize::i64Bit, 1, 9, FSW, C1); - FSW = _Bfi(OpSize::i64Bit, 1, 10, FSW, C2); - FSW = _Bfi(OpSize::i64Bit, 1, 14, FSW, C3); + FSW = _Orlshl(OpSize::i64Bit, FSW, C0, 8); + FSW = _Orlshl(OpSize::i64Bit, FSW, C1, 9); + FSW = _Orlshl(OpSize::i64Bit, FSW, C2, 10); + FSW = _Orlshl(OpSize::i64Bit, FSW, C3, 14); return FSW; }