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:
Alyssa Rosenzweig 2023-09-24 19:57:42 -04:00
parent c38beff826
commit 86063411dc

View File

@ -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