aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2022-05-14 21:24:48 +0200
committerAndrew Kelley <andrew@ziglang.org>2022-05-16 13:55:26 -0700
commit852c82084163eec9911384b325dbd5713ee4df90 (patch)
tree677c9aa46b7e821aaeb7e4aa32bfb76b1e04295c /src
parenta84be7e988c91606bc42e1e1c8a34bbdcdb8a3f1 (diff)
downloadzig-852c82084163eec9911384b325dbd5713ee4df90.tar.gz
zig-852c82084163eec9911384b325dbd5713ee4df90.zip
aarch64: sub_with_overflow should always track V flag
Diffstat (limited to 'src')
-rw-r--r--src/arch/aarch64/CodeGen.zig4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/arch/aarch64/CodeGen.zig b/src/arch/aarch64/CodeGen.zig
index e43cbca1c7..10730c446f 100644
--- a/src/arch/aarch64/CodeGen.zig
+++ b/src/arch/aarch64/CodeGen.zig
@@ -1901,6 +1901,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 },