mirror of
https://github.com/FEX-Emu/FEX.git
synced 2025-02-04 05:16:38 +00:00
Revert "OpcodeDispatcher: Use plain Lshl for flags"
This logic is unused since 8adfaa9aa ("OpcodeDispatcher: Use SelectCC for x87"), which addressed the underlying issue. This reverts commit df3833edbe3d34da4df28269f31340076238e420.
This commit is contained in:
parent
c38beff826
commit
86063411dc
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user