diff --git a/src/arch/arm/CodeGen.zig b/src/arch/arm/CodeGen.zig index 02ca66f297..93e6e95ba9 100644 --- a/src/arch/arm/CodeGen.zig +++ b/src/arch/arm/CodeGen.zig @@ -1455,6 +1455,10 @@ fn airOverflow(self: *Self, inst: Air.Inst.Index) !void { } }; + if (tag == .sub_with_overflow) { + break :result MCValue{ .register_v_flag = dest.register }; + } + switch (int_info.signedness) { .unsigned => break :result MCValue{ .register_c_flag = dest.register }, .signed => break :result MCValue{ .register_v_flag = dest.register },