From 472d14302125e0bcb32d2b2bf372a606da561569 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Fri, 10 Nov 2023 20:33:17 -0400 Subject: [PATCH] OpcodeDispatcher: Use TestNZ directly for SelectBit Lets us drop the bitwise select variants, this was the last use. Signed-off-by: Alyssa Rosenzweig --- FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp b/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp index 4f6c6a795..007a8724f 100644 --- a/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp +++ b/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp @@ -842,9 +842,10 @@ OrderedNode *OpDispatchBuilder::SelectBit(OrderedNode *Cmp, bool TrueIsNonzero, return _And(ResultSize, Cmp, _Constant(1)); } - return _Select(ResultSize, OpSize::i32Bit, - TrueIsNonzero ? CondClassType{COND_ANDNZ} : CondClassType{COND_ANDZ}, - Cmp, _Constant(1), + SaveNZCV(); + _TestNZ(OpSize::i32Bit, Cmp, _Constant(1)); + return _NZCVSelect(ResultSize, + TrueIsNonzero ? CondClassType{COND_NEQ} : CondClassType{COND_EQ}, TrueValue, FalseValue); }