diff --git a/src/arch/arm/CodeGen.zig b/src/arch/arm/CodeGen.zig index 02ca66f297919f83f8bf9ff91f0cbf99dc16eb63..93e6e95ba9ae4076a2d6aa4a843d544cf0c25595 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 },