diff options
| author | LemonBoy <thatlemon@gmail.com> | 2021-05-02 18:52:08 +0200 |
|---|---|---|
| committer | LemonBoy <thatlemon@gmail.com> | 2021-05-03 12:32:13 +0200 |
| commit | a7f3e12d23aa59ef3a6d78b1eb10a2a0d688906a (patch) | |
| tree | e45bea1ae26df926f17da6e584ab80736c1b84c4 | |
| parent | 792cf925ec170ddcb42a2d78ab8f464642e92b17 (diff) | |
| download | zig-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.zig | 4 |
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"); |
