aboutsummaryrefslogtreecommitdiff
path: root/src/arch/aarch64/CodeGen.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-05-16 20:40:57 -0400
committerGitHub <noreply@github.com>2022-05-16 20:40:57 -0400
commit5888446c03b1f77a031f5a8093488a6a2f6decb6 (patch)
treecb084cae72edc4c581c0ffa37cdc1130c6c2a8fc /src/arch/aarch64/CodeGen.zig
parent7a4758ed7868096c12fec8dacba0bfd4a37fdd13 (diff)
parentf33b3fc3eae54b9d1159fc5a7a69a4b0e4aceca6 (diff)
downloadzig-5888446c03b1f77a031f5a8093488a6a2f6decb6.tar.gz
zig-5888446c03b1f77a031f5a8093488a6a2f6decb6.zip
Merge pull request #11316 from wsengir/stage2-overflow-safety
stage2: vectorized overflow arithmetic, integer overflow safety, left-shift overflow safety
Diffstat (limited to 'src/arch/aarch64/CodeGen.zig')
-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 },