stage2 x86_64: fix incorrect comment in genX8664BinMath

Co-authored-by: joachimschmidt557 <joachim.schmidt557@outlook.com>
This commit is contained in:
gracefu 2021-04-12 01:29:40 +08:00
parent dc13662725
commit cfeb412a42
No known key found for this signature in database
GPG Key ID: 2B0D39CC4E035325

View File

@ -1505,8 +1505,14 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type {
/// ADD, SUB, XOR, OR, AND
fn genX8664BinMath(self: *Self, inst: *ir.Inst, op_lhs: *ir.Inst, op_rhs: *ir.Inst) !MCValue {
// We'll handle these ops in two steps.
// 1) Prepare an output register, and put one of the arguments in it
// 1) Prepare an output location (register or memory)
// This location will be the location of the operand that dies (if one exists)
// or just a temporary register (if one doesn't exist)
// 2) Perform the op with the other argument
// 3) Sometimes, the output location is memory but the op doesn't support it.
// In this case, copy that location to a register, then perform the op to that register instead.
//
// TODO: make this algorithm less bad
try self.code.ensureCapacity(self.code.items.len + 8);