| ... | ... | @@ -179000,7 +179000,14 @@ fn genSetMem( |
| 179000 | 179000 | .reg => |base_reg| .{ .register_offset = .{ .reg = base_reg, .off = disp } }, |
| 179001 | 179001 | .frame => |base_frame_index| .{ .lea_frame = .{ .index = base_frame_index, .off = disp } }, |
| 179002 | 179002 | .table, .rip_inst, .lazy_sym => unreachable, |
| 179003 | | .nav => |nav| .{ .lea_nav = nav }, |
| 179003 | .nav => |nav| { |
| 179004 | // hack around linker relocation bugs |
| 179005 | const addr_reg = try self.copyToTmpRegister(.usize, .{ .lea_nav = nav }); |
| 179006 | const addr_lock = self.register_manager.lockRegAssumeUnused(addr_reg); |
| 179007 | defer self.register_manager.unlockReg(addr_lock); |
| 179008 | |
| 179009 | return self.genSetMem(.{ .reg = addr_reg }, disp, ty, src_mcv, opts); |
| 179010 | }, |
| 179004 | 179011 | .uav => |uav| .{ .lea_uav = uav }, |
| 179005 | 179012 | .extern_func => |extern_func| .{ .lea_extern_func = extern_func }, |
| 179006 | 179013 | }; |