| ... | @@ -414,6 +414,7 @@ fn generic(lower: *Lower, inst: Mir.Inst) Error!void { | ... | @@ -414,6 +414,7 @@ fn generic(lower: *Lower, inst: Mir.Inst) Error!void { |
| 414 | => ._, | 414 | => ._, |
| 415 | .linker_reloc => { | 415 | .linker_reloc => { |
| 416 | if (lower.bin_file.options.pic) { | 416 | if (lower.bin_file.options.pic) { |
| | 417 | assert(inst.data.rx.fixes == ._); |
| 417 | const reg = inst.data.rx.r1; | 418 | const reg = inst.data.rx.r1; |
| 418 | const extra = lower.mir.extraData(Mir.Reloc, inst.data.rx.payload).data; | 419 | const extra = lower.mir.extraData(Mir.Reloc, inst.data.rx.payload).data; |
| 419 | _ = lower.reloc(.{ .linker_reloc = extra }); | 420 | _ = lower.reloc(.{ .linker_reloc = extra }); |
| ... | @@ -435,6 +436,7 @@ fn generic(lower: *Lower, inst: Mir.Inst) Error!void { | ... | @@ -435,6 +436,7 @@ fn generic(lower: *Lower, inst: Mir.Inst) Error!void { |
| 435 | }); | 436 | }); |
| 436 | }, | 437 | }, |
| 437 | .lea => { | 438 | .lea => { |
| | 439 | assert(inst.data.rx.fixes == ._); |
| 438 | const reg = inst.data.rx.r1; | 440 | const reg = inst.data.rx.r1; |
| 439 | const extra = lower.mir.extraData(Mir.Reloc, inst.data.rx.payload).data; | 441 | const extra = lower.mir.extraData(Mir.Reloc, inst.data.rx.payload).data; |
| 440 | try lower.emit(.none, .mov, &.{ | 442 | try lower.emit(.none, .mov, &.{ |
| ... | @@ -443,6 +445,7 @@ fn generic(lower: *Lower, inst: Mir.Inst) Error!void { | ... | @@ -443,6 +445,7 @@ fn generic(lower: *Lower, inst: Mir.Inst) Error!void { |
| 443 | }); | 445 | }); |
| 444 | }, | 446 | }, |
| 445 | .mov => { | 447 | .mov => { |
| | 448 | assert(inst.data.rx.fixes == ._); |
| 446 | const reg = inst.data.rx.r1; | 449 | const reg = inst.data.rx.r1; |
| 447 | const extra = lower.mir.extraData(Mir.Reloc, inst.data.rx.payload).data; | 450 | const extra = lower.mir.extraData(Mir.Reloc, inst.data.rx.payload).data; |
| 448 | _ = lower.reloc(.{ .linker_reloc = extra }); | 451 | _ = lower.reloc(.{ .linker_reloc = extra }); |