aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLemonBoy <thatlemon@gmail.com>2021-05-02 18:52:08 +0200
committerLemonBoy <thatlemon@gmail.com>2021-05-03 12:32:13 +0200
commita7f3e12d23aa59ef3a6d78b1eb10a2a0d688906a (patch)
treee45bea1ae26df926f17da6e584ab80736c1b84c4
parent792cf925ec170ddcb42a2d78ab8f464642e92b17 (diff)
downloadzig-a7f3e12d23aa59ef3a6d78b1eb10a2a0d688906a.tar.gz
zig-a7f3e12d23aa59ef3a6d78b1eb10a2a0d688906a.zip
std: Add fallback on pre-v6 ARM targets
Thanks xackus for noticing the missing else branch.
-rw-r--r--lib/std/Thread.zig4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/std/Thread.zig b/lib/std/Thread.zig
index 84b91b2de3..a85219a458 100644
--- a/lib/std/Thread.zig
+++ b/lib/std/Thread.zig
@@ -76,7 +76,9 @@ pub fn spinLoopHint() callconv(.Inline) void {
.arm, .armeb, .thumb, .thumbeb => {
// `yield` was introduced in v6k but are also available on v6m.
const can_yield = comptime std.Target.arm.featureSetHasAny(std.Target.current.cpu.features, .{ .has_v6k, .has_v6m });
- if (can_yield) asm volatile ("yield" ::: "memory");
+ if (can_yield) asm volatile ("yield" ::: "memory")
+ // Fallback.
+ else asm volatile ("" ::: "memory");
},
.aarch64, .aarch64_be, .aarch64_32 => {
asm volatile ("isb" ::: "memory");