From 1e4456ec409a736a85b92e65d4329a3d5b6c9a80 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Fri, 28 Jul 2023 12:41:49 -0400 Subject: [PATCH] OpcodeDispatcher: Use orlshl in GetPackedRFLAG Saves some moves. Signed-off-by: Alyssa Rosenzweig --- .../FEXCore/Source/Interface/Core/OpcodeDispatcher/Flags.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/External/FEXCore/Source/Interface/Core/OpcodeDispatcher/Flags.cpp b/External/FEXCore/Source/Interface/Core/OpcodeDispatcher/Flags.cpp index bbd8e9af8..6c57ea186 100644 --- a/External/FEXCore/Source/Interface/Core/OpcodeDispatcher/Flags.cpp +++ b/External/FEXCore/Source/Interface/Core/OpcodeDispatcher/Flags.cpp @@ -76,7 +76,10 @@ OrderedNode *OpDispatchBuilder::GetPackedRFLAG(uint32_t FlagsMask) { LoadPF() : GetRFLAG(FlagOffset); - Original = _Bfi(4, 1, FlagOffset, Original, Flag); + if (CTX->BackendFeatures.SupportsShiftedBitwise) + Original = _Orlshl(Original, Flag, FlagOffset); + else + Original = _Bfi(4, 1, FlagOffset, Original, Flag); } return Original; }