]> git.proxmox.com Git - rustc.git/blob - library/stdarch/crates/core_arch/src/arm/mod.rs
New upstream version 1.48.0~beta.8+dfsg1
[rustc.git] / library / stdarch / crates / core_arch / src / arm / mod.rs
1 //! ARM 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 #![allow(non_camel_case_types)]
9
10 mod armclang;
11
12 pub use self::armclang::*;
13
14 mod v6;
15 pub use self::v6::*;
16
17 #[cfg(any(target_arch = "aarch64", target_feature = "v7"))]
18 mod v7;
19 #[cfg(any(target_arch = "aarch64", target_feature = "v7"))]
20 pub use self::v7::*;
21
22 #[cfg(any(target_arch = "aarch64", target_feature = "v7", dox))]
23 mod neon;
24 #[cfg(any(target_arch = "aarch64", target_feature = "v7", dox))]
25 pub use self::neon::*;
26
27 #[cfg(any(target_arch = "aarch64", target_feature = "v7"))]
28 mod crc;
29 #[cfg(any(target_arch = "aarch64", target_feature = "v7"))]
30 pub use self::crc::*;
31
32 pub use crate::core_arch::acle::*;
33
34 #[cfg(test)]
35 use stdarch_test::assert_instr;
36
37 /// Generates the trap instruction `UDF`
38 #[cfg(target_arch = "arm")]
39 #[cfg_attr(test, assert_instr(udf))]
40 #[inline]
41 pub unsafe fn udf() -> ! {
42 crate::intrinsics::abort()
43 }
44
45 #[cfg(test)]
46 #[cfg(any(target_arch = "aarch64", target_feature = "v7"))]
47 pub(crate) mod test_support;