mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 14:00:16 +02:00
Revert "OpcodeDispatcher: Use plain Lshl for flags"
This logic is unused since8adfaa9aa("OpcodeDispatcher: Use SelectCC for x87"), which addressed the underlying issue. This reverts commitdf3833edbe.
This commit is contained in:
1 parent
c38beff826
commit
86063411dc
1 file changed
+1
-8
@@ -141,7 +141,6 @@ OrderedNode *OpDispatchBuilder::GetPackedRFLAG(uint32_t FlagsMask) {
|
||||
CalculateDeferredFlags();
|
||||
|
||||
OrderedNode *Original = _Constant(0);
|
||||
bool Nonzero = false;
|
||||
|
||||
// SF/ZF and N/Z are together on both arm64 and x86_64, so we special case that.
|
||||
bool GetNZ = (FlagsMask & (1 << FEXCore::X86State::RFLAG_SF_LOC)) &&
|
||||
@@ -151,7 +150,6 @@ OrderedNode *OpDispatchBuilder::GetPackedRFLAG(uint32_t FlagsMask) {
|
||||
if (FlagsMask & (1 << FEXCore::X86State::RFLAG_CF_LOC)) {
|
||||
static_assert(FEXCore::X86State::RFLAG_CF_LOC == 0);
|
||||
Original = GetRFLAG(FEXCore::X86State::RFLAG_CF_LOC);
|
||||
Nonzero = true;
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < FlagOffsets.size(); ++i) {
|
||||
@@ -177,12 +175,7 @@ OrderedNode *OpDispatchBuilder::GetPackedRFLAG(uint32_t FlagsMask) {
|
||||
else
|
||||
Flag = GetRFLAG(FlagOffset);
|
||||
|
||||
if (Nonzero)
|
||||
Original = _Orlshl(OpSize::i64Bit, Original, Flag, FlagOffset);
|
||||
else
|
||||
Original = _Lshl(OpSize::i64Bit, Flag, _Constant(FlagOffset));
|
||||
|
||||
Nonzero = true;
|
||||
Original = _Orlshl(OpSize::i64Bit, Original, Flag, FlagOffset);
|
||||
}
|
||||
|
||||
// OR in the SF/ZF flags at the end, allowing the lshr to fold with the OR
|
||||
|
||||
Reference in new issue
Block a user