| ... | ... | @@ -352,7 +352,7 @@ fn gen(self: *Self) !void { |
| 352 | 352 | if (cc != .Naked) { |
| 353 | 353 | // TODO Finish function prologue and epilogue for sparc64. |
| 354 | 354 | |
| 355 | | // save %sp, stack_save_area, %sp |
| 355 | // save %sp, stack_reserved_area, %sp |
| 356 | 356 | const save_inst = try self.addInst(.{ |
| 357 | 357 | .tag = .save, |
| 358 | 358 | .data = .{ |
| ... | ... | @@ -360,7 +360,7 @@ fn gen(self: *Self) !void { |
| 360 | 360 | .is_imm = true, |
| 361 | 361 | .rd = .sp, |
| 362 | 362 | .rs1 = .sp, |
| 363 | | .rs2_or_imm = .{ .imm = -abi.stack_save_area }, |
| 363 | .rs2_or_imm = .{ .imm = -abi.stack_reserved_area }, |
| 364 | 364 | }, |
| 365 | 365 | }, |
| 366 | 366 | }); |
| ... | ... | @@ -407,7 +407,7 @@ fn gen(self: *Self) !void { |
| 407 | 407 | } |
| 408 | 408 | |
| 409 | 409 | // Backpatch stack offset |
| 410 | | const total_stack_size = self.max_end_stack + abi.stack_save_area; // TODO + self.saved_regs_stack_space; |
| 410 | const total_stack_size = self.max_end_stack + abi.stack_reserved_area; // TODO + self.saved_regs_stack_space; |
| 411 | 411 | const stack_size = mem.alignForwardGeneric(u32, total_stack_size, self.stack_align); |
| 412 | 412 | if (math.cast(i13, stack_size)) |size| { |
| 413 | 413 | self.mir_instructions.set(save_inst, .{ |
| ... | ... | @@ -2299,7 +2299,7 @@ fn genSetReg(self: *Self, ty: Type, reg: Register, mcv: MCValue) InnerError!void |
| 2299 | 2299 | return self.genSetReg(ty, reg, .{ .immediate = 0xaaaaaaaaaaaaaaaa }); |
| 2300 | 2300 | }, |
| 2301 | 2301 | .ptr_stack_offset => |off| { |
| 2302 | | const simm13 = math.cast(u12, off) catch |
| 2302 | const simm13 = math.cast(u12, off + abi.stack_bias + abi.stack_reserved_area) catch |
| 2303 | 2303 | return self.fail("TODO larger stack offsets", .{}); |
| 2304 | 2304 | |
| 2305 | 2305 | _ = try self.addInst(.{ |
| ... | ... | @@ -2431,7 +2431,7 @@ fn genSetReg(self: *Self, ty: Type, reg: Register, mcv: MCValue) InnerError!void |
| 2431 | 2431 | try self.genLoad(reg, reg, i13, 0, ty.abiSize(self.target.*)); |
| 2432 | 2432 | }, |
| 2433 | 2433 | .stack_offset => |off| { |
| 2434 | | const real_offset = off + abi.stack_bias + abi.stack_save_area; |
| 2434 | const real_offset = off + abi.stack_bias + abi.stack_reserved_area; |
| 2435 | 2435 | const simm13 = math.cast(i13, real_offset) catch |
| 2436 | 2436 | return self.fail("TODO larger stack offsets", .{}); |
| 2437 | 2437 | try self.genLoad(reg, .sp, i13, simm13, ty.abiSize(self.target.*)); |
| ... | ... | @@ -2465,7 +2465,7 @@ fn genSetStack(self: *Self, ty: Type, stack_offset: u32, mcv: MCValue) InnerErro |
| 2465 | 2465 | return self.genSetStack(ty, stack_offset, MCValue{ .register = reg }); |
| 2466 | 2466 | }, |
| 2467 | 2467 | .register => |reg| { |
| 2468 | | const real_offset = stack_offset + abi.stack_bias + abi.stack_save_area; |
| 2468 | const real_offset = stack_offset + abi.stack_bias + abi.stack_reserved_area; |
| 2469 | 2469 | const simm13 = math.cast(i13, real_offset) catch |
| 2470 | 2470 | return self.fail("TODO larger stack offsets", .{}); |
| 2471 | 2471 | return self.genStore(reg, .sp, i13, simm13, abi_size); |