| ... | @@ -1047,6 +1047,11 @@ fn airCall(self: *Self, inst: Air.Inst.Index, modifier: std.builtin.CallOptions. | ... | @@ -1047,6 +1047,11 @@ fn airCall(self: *Self, inst: Air.Inst.Index, modifier: std.builtin.CallOptions. |
| 1047 | | 1047 | |
| 1048 | var info = try self.resolveCallingConventionValues(fn_ty, .caller); | 1048 | var info = try self.resolveCallingConventionValues(fn_ty, .caller); |
| 1049 | defer info.deinit(self); | 1049 | defer info.deinit(self); |
| | 1050 | |
| | 1051 | // CCR is volatile across function calls |
| | 1052 | // (SCD 2.4.1, page 3P-10) |
| | 1053 | try self.spillCompareFlagsIfOccupied(); |
| | 1054 | |
| 1050 | for (info.args) |mc_arg, arg_i| { | 1055 | for (info.args) |mc_arg, arg_i| { |
| 1051 | const arg = args[arg_i]; | 1056 | const arg = args[arg_i]; |
| 1052 | const arg_ty = self.air.typeOf(arg); | 1057 | const arg_ty = self.air.typeOf(arg); |