From 26ce82d98efce4847307c0b73d1765be7a104256 Mon Sep 17 00:00:00 2001 From: David Rubin Date: Fri, 29 Mar 2024 06:59:32 -0700 Subject: [PATCH] riscv: correctly derefence `load_symbol` in genSetReg --- src/arch/riscv64/CodeGen.zig | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/arch/riscv64/CodeGen.zig b/src/arch/riscv64/CodeGen.zig index cc5a731c28..1ec0d0ab6e 100644 --- a/src/arch/riscv64/CodeGen.zig +++ b/src/arch/riscv64/CodeGen.zig @@ -3535,6 +3535,27 @@ fn genSetReg(self: *Self, ty: Type, reg: Register, src_mcv: MCValue) InnerError! }), }, }); + + const tag: Mir.Inst.Tag = switch (abi_size) { + 1 => .lb, + 2 => .lh, + 4 => .lw, + 8 => .ld, + else => return self.fail("TODO: genSetReg for size {d}", .{abi_size}), + }; + + _ = try self.addInst(.{ + .tag = tag, + .data = .{ + .i_type = .{ + .rd = reg, + .rs1 = reg, + .imm12 = 0, + }, + }, + }); + + unreachable; }, .air_ref => |ref| try self.genSetReg(ty, reg, try self.resolveInst(ref)), .indirect => |reg_off| {