Skip to main content

core/stdarch/crates/core_arch/src/aarch64/
mod.rs

1//! AArch64 intrinsics.
2//!
3//! The reference for NEON is [Arm's NEON Intrinsics Reference][arm_ref]. The
4//! [Arm's NEON Intrinsics Online Database][arm_dat] is also useful.
5//!
6//! [arm_ref]: http://infocenter.arm.com/help/topic/com.arm.doc.ihi0073a/IHI0073A_arm_neon_intrinsics_ref.pdf
7//! [arm_dat]: https://developer.arm.com/technologies/neon/intrinsics
8
9mod mte;
10#[unstable(feature = "stdarch_aarch64_mte", issue = "129010")]
11pub use self::mte::*;
12
13mod rand;
14#[unstable(feature = "stdarch_aarch64_rand", issue = "153514")]
15pub use self::rand::*;
16
17mod neon;
18#[stable(feature = "neon_intrinsics", since = "1.59.0")]
19pub use self::neon::*;
20
21// The rest of `core_arch::aarch64` is available on `arm64ec` but SVE is not supported on `arm64ec`.
22#[cfg(any(all(target_arch = "aarch64", target_endian = "little"), doc))]
23mod sve;
24#[cfg(any(all(target_arch = "aarch64", target_endian = "little"), doc))]
25#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26pub use self::sve::*;
27
28// The rest of `core_arch::aarch64` is available on `arm64ec` but SVE is not supported on `arm64ec`.
29#[cfg(any(all(target_arch = "aarch64", target_endian = "little"), doc))]
30mod sve2;
31#[cfg(any(all(target_arch = "aarch64", target_endian = "little"), doc))]
32#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33pub use self::sve2::*;
34
35mod prefetch;
36#[unstable(feature = "stdarch_aarch64_prefetch", issue = "117217")]
37pub use self::prefetch::*;
38
39#[stable(feature = "neon_intrinsics", since = "1.59.0")]
40pub use super::arm_shared::*;
41
42#[cfg(test)]
43use stdarch_test::assert_instr;
44
45#[cfg(test)]
46pub(crate) mod test_support;