mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-15 12:39:31 +03:00
[aarch64] refactor AArch64 intrinsics into its own architecture module (#162)
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
//! AArch64 intrinsics.
|
||||
//!
|
||||
//! The reference for NEON is [ARM's NEON Intrinsics Reference][arm_ref]. The
|
||||
//! [ARM's NEON Intrinsics Online Database][arm_dat] is also useful.
|
||||
//!
|
||||
//! [arm_ref]:
|
||||
//! http://infocenter.arm.com/help/topic/com.arm.doc.
|
||||
//! ihi0073a/IHI0073A_arm_neon_intrinsics_ref.pdf
|
||||
//! [arm_dat]: https://developer.arm.com/technologies/neon/intrinsics
|
||||
|
||||
mod v8;
|
||||
pub use self::v8::*;
|
||||
|
||||
#[cfg(target_feature = "neon")]
|
||||
mod neon;
|
||||
#[cfg(target_feature = "neon")]
|
||||
pub use self::neon::*;
|
||||
@@ -5,8 +5,6 @@
|
||||
//! [armv8]: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.
|
||||
//! ddi0487a.k_10775/index.html
|
||||
|
||||
pub use super::v7::*;
|
||||
|
||||
#[cfg(test)]
|
||||
use stdsimd_test::assert_instr;
|
||||
|
||||
@@ -59,7 +57,7 @@ pub unsafe fn _cls_u64(x: u64) -> u64 {
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use arm::v8;
|
||||
use aarch64::v8;
|
||||
|
||||
#[test]
|
||||
fn _rev_u64() {
|
||||
@@ -8,23 +8,13 @@
|
||||
//! ihi0073a/IHI0073A_arm_neon_intrinsics_ref.pdf
|
||||
//! [arm_dat]: https://developer.arm.com/technologies/neon/intrinsics
|
||||
|
||||
pub use self::v6::*;
|
||||
pub use self::v7::*;
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
pub use self::v8::*;
|
||||
|
||||
#[cfg(target_feature = "neon")]
|
||||
pub use self::v7_neon::*;
|
||||
|
||||
#[cfg(all(target_arch = "aarch64", target_feature = "neon"))]
|
||||
pub use self::v8_neon::*;
|
||||
|
||||
mod v6;
|
||||
mod v7;
|
||||
#[cfg(target_feature = "neon")]
|
||||
mod v7_neon;
|
||||
pub use self::v6::*;
|
||||
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
mod v8;
|
||||
#[cfg(all(target_arch = "aarch64", target_feature = "neon"))]
|
||||
mod v8_neon;
|
||||
mod v7;
|
||||
pub use self::v7::*;
|
||||
|
||||
#[cfg(target_feature = "neon")]
|
||||
mod neon;
|
||||
#[cfg(target_feature = "neon")]
|
||||
pub use self::neon::*;
|
||||
|
||||
@@ -144,6 +144,9 @@ pub mod vendor {
|
||||
|
||||
#[cfg(any(target_arch = "arm", target_arch = "aarch64"))]
|
||||
pub use arm::*;
|
||||
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
pub use aarch64::*;
|
||||
}
|
||||
|
||||
#[macro_use]
|
||||
@@ -160,3 +163,5 @@ pub mod vendor {
|
||||
|
||||
#[cfg(any(target_arch = "arm", target_arch = "aarch64"))]
|
||||
mod arm;
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
mod aarch64;
|
||||
|
||||
Reference in New Issue
Block a user