| author | |
| committer | |
| log | 8e6ed0fedf350cd636349ee0bc75d733801a72dd |
| tree | e0d7b7ba955c576e87023eafd68e24737921dcd4 |
| parent | 694c848c3e48176fb81941f0186d53100211e64c |
| signature | Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM |
3 files changed, 5 insertions(+), 3 deletions(-)
lib/compiler_rt/aarch64_outline_atomics.zig+1-1| ... | ... | @@ -9,7 +9,7 @@ const always_has_lse = builtin.cpu.has(.aarch64, .lse); |
| 9 | 9 | /// It is intentionally not exported in order to make the machine code that |
| 10 | 10 | /// uses it a statically predicted direct branch rather than using the PLT, |
| 11 | 11 | /// which ARM is concerned would have too much overhead. |
| 12 | pub var __aarch64_have_lse_atomics: u8 = @intFromBool(always_has_lse); | |
| 12 | var __aarch64_have_lse_atomics: u8 = @intFromBool(always_has_lse); | |
| 13 | 13 | |
| 14 | 14 | fn __aarch64_cas1_relax() align(16) callconv(.naked) void { |
| 15 | 15 | @setRuntimeSafety(false); |
lib/compiler_rt/fmv.zig+3-1| ... | ... | @@ -18,7 +18,7 @@ comptime { |
| 18 | 18 | const aarch64 = struct { |
| 19 | 19 | comptime { |
| 20 | 20 | symbol(&__aarch64_cpu_features, "__aarch64_cpu_features"); |
| 21 | symbol(&@import("aarch64_outline_atomics.zig").__aarch64_have_lse_atomics, "__aarch64_have_lse_atomics"); | |
| 21 | symbol(&__aarch64_have_lse_atomics, "__aarch64_have_lse_atomics"); | |
| 22 | 22 | symbol(&__init_cpu_features_resolver, "__init_cpu_features_resolver"); |
| 23 | 23 | } |
| 24 | 24 | |
| ... | ... | @@ -28,6 +28,8 @@ const aarch64 = struct { |
| 28 | 28 | .features = 0, |
| 29 | 29 | }; |
| 30 | 30 | |
| 31 | var __aarch64_have_lse_atomics: bool = false; | |
| 32 | ||
| 31 | 33 | const __init_cpu_features_resolver = switch (builtin.target.os.tag) { |
| 32 | 34 | .fuchsia, |
| 33 | 35 | .driverkit, |
tools/gen_outline_atomics.zig+1-1| ... | ... | @@ -32,7 +32,7 @@ pub fn main(init: std.process.Init) !void { |
| 32 | 32 | \\/// It is intentionally not exported in order to make the machine code that |
| 33 | 33 | \\/// uses it a statically predicted direct branch rather than using the PLT, |
| 34 | 34 | \\/// which ARM is concerned would have too much overhead. |
| 35 | \\pub var __aarch64_have_lse_atomics: u8 = @intFromBool(always_has_lse); | |
| 35 | \\var __aarch64_have_lse_atomics: u8 = @intFromBool(always_has_lse); | |
| 36 | 36 | \\ |
| 37 | 37 | \\ |
| 38 | 38 | ); |