authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-11-08 13:50:30+01:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-11-08 13:50:30+01:00
log32ad218f5aa389d5827af6367d180efe2f5bba38
treeb7416411b90b49aa64cd2854a0ac735a7f9fd4d1
parent45f65c84457f3b52209fd4f4595130d6528ebecd

aarch64: revert changes to .call


1 files changed, 6 insertions(+), 4 deletions(-)

src/arch/aarch64/CodeGen.zig+6-4
......@@ -4215,16 +4215,18 @@ fn airCall(self: *Self, inst: Air.Inst.Index, modifier: std.builtin.CallOptions.
42154215
42164216 const result: MCValue = result: {
42174217 switch (info.return_value) {
4218 .register => {
4219 // Save function return value in a callee saved register
4220 break :result try self.copyToNewRegister(inst, info.return_value);
4218 .register => |reg| {
4219 if (RegisterManager.indexOfReg(&callee_preserved_regs, reg) == null) {
4220 // Save function return value in a callee saved register
4221 break :result try self.copyToNewRegister(inst, info.return_value);
4222 }
42214223 },
42224224 else => {},
42234225 }
42244226 break :result info.return_value;
42254227 };
42264228
4227 if (args.len <= Liveness.bpi - 2) {
4229 if (args.len + 1 <= Liveness.bpi - 1) {
42284230 var buf = [1]Air.Inst.Ref{.none} ** (Liveness.bpi - 1);
42294231 buf[0] = callee;
42304232 std.mem.copy(Air.Inst.Ref, buf[1..], args);