| ... | @@ -1455,6 +1455,10 @@ fn airOverflow(self: *Self, inst: Air.Inst.Index) !void { | ... | @@ -1455,6 +1455,10 @@ fn airOverflow(self: *Self, inst: Air.Inst.Index) !void { |
| 1455 | } | 1455 | } |
| 1456 | }; | 1456 | }; |
| 1457 | | 1457 | |
| | 1458 | if (tag == .sub_with_overflow) { |
| | 1459 | break :result MCValue{ .register_v_flag = dest.register }; |
| | 1460 | } |
| | 1461 | |
| 1458 | switch (int_info.signedness) { | 1462 | switch (int_info.signedness) { |
| 1459 | .unsigned => break :result MCValue{ .register_c_flag = dest.register }, | 1463 | .unsigned => break :result MCValue{ .register_c_flag = dest.register }, |
| 1460 | .signed => break :result MCValue{ .register_v_flag = dest.register }, | 1464 | .signed => break :result MCValue{ .register_v_flag = dest.register }, |