commit e2cb25358e312009fef2d24b80a1e286e0494ee6 (tree)
parent 26b63b022fdbc163642cf274a9ca87b0194bec7d
Author: Koakuma <koachan@protonmail.com>
Date: Sun, 19 Jun 2022 21:32:55 +0700
stage2: sparc64: Implement airCall with BigTomb use for return
Diffstat:
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/arch/sparc64/CodeGen.zig b/src/arch/sparc64/CodeGen.zig
@@ -1197,7 +1197,12 @@ fn airCall(self: *Self, inst: Air.Inst.Index, modifier: std.builtin.CallOptions.
return self.finishAir(inst, result, buf);
}
- @panic("TODO handle return value with BigTomb");
+ var bt = try self.iterateBigTomb(inst, 1 + args.len);
+ bt.feed(callee);
+ for (args) |arg| {
+ bt.feed(arg);
+ }
+ return bt.finishAir(result);
}
fn airCmp(self: *Self, inst: Air.Inst.Index, op: math.CompareOperator) !void {