diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2023-11-12 13:06:30 +0100 |
|---|---|---|
| committer | Jacob Young <jacobly0@users.noreply.github.com> | 2023-11-12 18:12:41 -0500 |
| commit | c6833e6273f5a90059074e6ba5707a516efecb86 (patch) | |
| tree | 5bd6c5b8db34613a0459ddda8b3ae63c4fe4cb24 /src/arch | |
| parent | 575c29e5c4fe3aac955be407155750b92c0f6ea3 (diff) | |
| download | zig-c6833e6273f5a90059074e6ba5707a516efecb86.tar.gz zig-c6833e6273f5a90059074e6ba5707a516efecb86.zip | |
x86_64: remove unreachable Elf prong
Diffstat (limited to 'src/arch')
| -rw-r--r-- | src/arch/x86_64/CodeGen.zig | 44 |
1 files changed, 17 insertions, 27 deletions
diff --git a/src/arch/x86_64/CodeGen.zig b/src/arch/x86_64/CodeGen.zig index b2f65d6469..1faeeced95 100644 --- a/src/arch/x86_64/CodeGen.zig +++ b/src/arch/x86_64/CodeGen.zig @@ -13381,35 +13381,25 @@ fn genSetReg(self: *Self, dst_reg: Register, ty: Type, src_mcv: MCValue) InnerEr }, .lea_direct, .lea_got => |sym_index| { const atom_index = try self.owner.getSymbolIndex(self); - if (self.bin_file.cast(link.File.Elf)) |_| { - try self.asmRegisterMemory(.{ ._, .lea }, dst_reg.to64(), .{ - .base = .{ .reloc = .{ + _ = try self.addInst(.{ + .tag = switch (src_mcv) { + .lea_direct => .lea, + .lea_got => .mov, + else => unreachable, + }, + .ops = switch (src_mcv) { + .lea_direct => .direct_reloc, + .lea_got => .got_reloc, + else => unreachable, + }, + .data = .{ .rx = .{ + .r1 = dst_reg.to64(), + .payload = try self.addExtra(bits.Symbol{ .atom_index = atom_index, .sym_index = sym_index, - } }, - .mod = .{ .rm = .{ .size = .qword } }, - }); - } else { - _ = try self.addInst(.{ - .tag = switch (src_mcv) { - .lea_direct => .lea, - .lea_got => .mov, - else => unreachable, - }, - .ops = switch (src_mcv) { - .lea_direct => .direct_reloc, - .lea_got => .got_reloc, - else => unreachable, - }, - .data = .{ .rx = .{ - .r1 = dst_reg.to64(), - .payload = try self.addExtra(bits.Symbol{ - .atom_index = atom_index, - .sym_index = sym_index, - }), - } }, - }); - } + }), + } }, + }); }, .lea_tlv => |sym_index| { const atom_index = try self.owner.getSymbolIndex(self); |
