Project

General

Profile

RE: How is RestoreRegisterState supposed to be used? ยป register.patch

Florian Negele, 21 June 2024 20:01

View differences:

amd64generator.cpp
const auto register_ = GetTemporary (target, value1, value2, index); Load (register_, value1, index);
if (mnemonic == Instruction::ADD && IsImmediate (value2) && Extract (value2, index) == 1 && !IsComplex (value2)) Emit (Instruction::INC, register_, {});
else if (mnemonic == Instruction::SUB && IsImmediate (value2) && Extract (value2, index) == 1 && !IsComplex (value2)) Emit (Instruction::DEC, register_, {});
else Emit (mnemonic, register_, IsQWord (value2) ? Load (value2, index) : Access (value2, index));
else Emit (mnemonic, register_, IsImmediate (value2) && !IsQWord (value2) || IsRegister (value2) || IsMemory (value2) ? Access (value2, index) : Load (value2, index));
Prerelease (value2, index); Store (register_, target, index);
}
    (1-1/1)