portable_atomic/imp/atomic128/
mod.rs1#[cfg(any(
11 all(target_arch = "aarch64", any(not(portable_atomic_no_asm), portable_atomic_unstable_asm)),
12 all(target_arch = "arm64ec", portable_atomic_unstable_asm_experimental_arch)
13))]
14#[cfg_attr(
16 all(any(miri, portable_atomic_sanitize_thread), portable_atomic_new_atomic_intrinsics),
17 path = "intrinsics.rs"
18)]
19pub(super) mod aarch64;
20
21#[cfg(all(
23 target_arch = "powerpc64",
24 portable_atomic_unstable_asm_experimental_arch,
25 any(
26 target_feature = "quadword-atomics",
27 portable_atomic_target_feature = "quadword-atomics",
28 all(
29 feature = "fallback",
30 not(portable_atomic_no_outline_atomics),
31 any(test, portable_atomic_outline_atomics), any(
33 all(
34 target_os = "linux",
35 any(
36 target_env = "gnu",
37 all(
38 any(target_env = "musl", target_env = "ohos"),
39 not(target_feature = "crt-static"),
40 ),
41 portable_atomic_outline_atomics,
42 ),
43 ),
44 target_os = "android",
45 target_os = "freebsd",
46 all(target_os = "openbsd", portable_atomic_outline_atomics),
47 ),
48 not(any(miri, portable_atomic_sanitize_thread)),
49 ),
50 ),
51))]
52#[cfg_attr(
54 all(any(miri, portable_atomic_sanitize_thread), not(portable_atomic_pre_llvm_15)),
55 path = "intrinsics.rs"
56)]
57pub(super) mod powerpc64;
58
59#[cfg(all(
61 target_arch = "riscv64",
62 not(portable_atomic_no_asm),
63 not(portable_atomic_pre_llvm_19),
64 any(
65 target_feature = "experimental-zacas",
66 portable_atomic_target_feature = "experimental-zacas",
67 all(
68 feature = "fallback",
69 not(portable_atomic_no_outline_atomics),
70 any(test, portable_atomic_outline_atomics), any(target_os = "linux", target_os = "android"),
72 not(any(miri, portable_atomic_sanitize_thread)),
73 ),
74 ),
75))]
76#[cfg_attr(any(miri, portable_atomic_sanitize_thread), path = "intrinsics.rs")]
78pub(super) mod riscv64;
79
80#[cfg(all(target_arch = "s390x", portable_atomic_unstable_asm_experimental_arch))]
82#[cfg_attr(any(miri, portable_atomic_sanitize_thread), path = "intrinsics.rs")]
84pub(super) mod s390x;
85
86#[cfg(all(
88 target_arch = "x86_64",
89 not(all(any(miri, portable_atomic_sanitize_thread), portable_atomic_no_cmpxchg16b_intrinsic)),
90 any(not(portable_atomic_no_asm), portable_atomic_unstable_asm),
91 any(
92 target_feature = "cmpxchg16b",
93 portable_atomic_target_feature = "cmpxchg16b",
94 all(
95 feature = "fallback",
96 not(portable_atomic_no_outline_atomics),
97 not(any(target_env = "sgx", miri)),
98 ),
99 ),
100))]
101#[cfg_attr(any(miri, portable_atomic_sanitize_thread), path = "intrinsics.rs")]
103pub(super) mod x86_64;