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