authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2023-11-05 05:15:35-05:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2023-11-05 06:09:06-05:00
log8311fac7e853f7e8454e79794ab9060a488a7875
treeb6ec2b2a4c00d8dc08d08c7a1c61432552c3381e
parent803ea101078e8d36138d8c53f10cdeb32efaaa14

x86_64: fix indirect return of `f80`


1 files changed, 2 insertions(+), 2 deletions(-)

src/arch/x86_64/CodeGen.zig+2-2
...@@ -10885,12 +10885,12 @@ fn airRet(self: *Self, inst: Air.Inst.Index) !void {...@@ -10885,12 +10885,12 @@ fn airRet(self: *Self, inst: Air.Inst.Index) !void {
10885 else => unreachable,10885 else => unreachable,
10886 }10886 }
10887 self.ret_mcv.liveOut(self, inst);10887 self.ret_mcv.liveOut(self, inst);
10888 try self.finishAir(inst, .unreach, .{ un_op, .none, .none });
1088810889
10889 // TODO optimization opportunity: figure out when we can emit this as a 2 byte instruction10890 // TODO optimization opportunity: figure out when we can emit this as a 2 byte instruction
10890 // which is available if the jump is 127 bytes or less forward.10891 // which is available if the jump is 127 bytes or less forward.
10891 const jmp_reloc = try self.asmJmpReloc(undefined);10892 const jmp_reloc = try self.asmJmpReloc(undefined);
10892 try self.exitlude_jump_relocs.append(self.gpa, jmp_reloc);10893 try self.exitlude_jump_relocs.append(self.gpa, jmp_reloc);
10893 return self.finishAir(inst, .unreach, .{ un_op, .none, .none });
10894}10894}
1089510895
10896fn airRetLoad(self: *Self, inst: Air.Inst.Index) !void {10896fn airRetLoad(self: *Self, inst: Air.Inst.Index) !void {
...@@ -10905,12 +10905,12 @@ fn airRetLoad(self: *Self, inst: Air.Inst.Index) !void {...@@ -10905,12 +10905,12 @@ fn airRetLoad(self: *Self, inst: Air.Inst.Index) !void {
10905 else => unreachable,10905 else => unreachable,
10906 }10906 }
10907 self.ret_mcv.liveOut(self, inst);10907 self.ret_mcv.liveOut(self, inst);
10908 try self.finishAir(inst, .unreach, .{ un_op, .none, .none });
1090810909
10909 // TODO optimization opportunity: figure out when we can emit this as a 2 byte instruction10910 // TODO optimization opportunity: figure out when we can emit this as a 2 byte instruction
10910 // which is available if the jump is 127 bytes or less forward.10911 // which is available if the jump is 127 bytes or less forward.
10911 const jmp_reloc = try self.asmJmpReloc(undefined);10912 const jmp_reloc = try self.asmJmpReloc(undefined);
10912 try self.exitlude_jump_relocs.append(self.gpa, jmp_reloc);10913 try self.exitlude_jump_relocs.append(self.gpa, jmp_reloc);
10913 return self.finishAir(inst, .unreach, .{ un_op, .none, .none });
10914}10914}
1091510915
10916fn airCmp(self: *Self, inst: Air.Inst.Index, op: math.CompareOperator) !void {10916fn airCmp(self: *Self, inst: Air.Inst.Index, op: math.CompareOperator) !void {