authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2023-11-12 15:34:16+01:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2023-11-12 18:12:41-05:00
log3d3153c58e9ab808c8b1899d3a9de9d1a1030a67
tree285b4f12b235d98115f9305a54bc92385f8ffa6d
parentc6833e6273f5a90059074e6ba5707a516efecb86

x86_64: use .rax for local exec as prescribed by the spec


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

src/arch/x86_64/Lower.zig+2-2
...@@ -389,14 +389,14 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)...@@ -389,14 +389,14 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)
389 // Since we are linking statically, we emit LE model directly.389 // Since we are linking statically, we emit LE model directly.
390 lower.result_insts[lower.result_insts_len] =390 lower.result_insts[lower.result_insts_len] =
391 try Instruction.new(.none, .mov, &[_]Operand{391 try Instruction.new(.none, .mov, &[_]Operand{
392 .{ .reg = ops[0].reg.to64() },392 .{ .reg = .rax },
393 .{ .mem = Memory.sib(.qword, .{ .base = .{ .reg = .fs } }) },393 .{ .mem = Memory.sib(.qword, .{ .base = .{ .reg = .fs } }) },
394 });394 });
395 lower.result_insts_len += 1;395 lower.result_insts_len += 1;
396 _ = lower.reloc(.{ .linker_reloc = sym });396 _ = lower.reloc(.{ .linker_reloc = sym });
397 emit_mnemonic = .lea;397 emit_mnemonic = .lea;
398 break :op .{ .mem = Memory.sib(mem_op.sib.ptr_size, .{398 break :op .{ .mem = Memory.sib(mem_op.sib.ptr_size, .{
399 .base = .{ .reg = ops[0].reg.to64() },399 .base = .{ .reg = .rax },
400 .disp = std.math.minInt(i32),400 .disp = std.math.minInt(i32),
401 }) };401 }) };
402 }402 }