| ... | @@ -1496,11 +1496,8 @@ fn airMulWithOverflow(self: *Self, inst: Air.Inst.Index) !void { | ... | @@ -1496,11 +1496,8 @@ fn airMulWithOverflow(self: *Self, inst: Air.Inst.Index) !void { |
| 1496 | rhs.freezeIfRegister(&self.register_manager); | 1496 | rhs.freezeIfRegister(&self.register_manager); |
| 1497 | defer rhs.unfreezeIfRegister(&self.register_manager); | 1497 | defer rhs.unfreezeIfRegister(&self.register_manager); |
| 1498 | | 1498 | |
| 1499 | // TODO check if we could reuse rhs instead, and swap the values out. | | |
| 1500 | const dst_reg: Register = blk: { | 1499 | const dst_reg: Register = blk: { |
| 1501 | if (self.reuseOperand(inst, bin_op.lhs, 0, lhs)) { | 1500 | if (lhs.isRegister()) break :blk lhs.register; |
| 1502 | if (lhs.isRegister()) break :blk lhs.register; | | |
| 1503 | } | | |
| 1504 | break :blk try self.copyToTmpRegister(ty, lhs); | 1501 | break :blk try self.copyToTmpRegister(ty, lhs); |
| 1505 | }; | 1502 | }; |
| 1506 | self.register_manager.freezeRegs(&.{dst_reg}); | 1503 | self.register_manager.freezeRegs(&.{dst_reg}); |