[aarch64] refactor AArch64 intrinsics into its own architecture module (#162)
This commit is contained in:
parent
7f35e50563
commit
d6aefaabea
6 changed files with 31 additions and 21 deletions
17
library/stdarch/src/aarch64/mod.rs
Normal file
17
library/stdarch/src/aarch64/mod.rs
Normal file
|
|
@ -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 @@ mod x86;
|
|||
|
||||
#[cfg(any(target_arch = "arm", target_arch = "aarch64"))]
|
||||
mod arm;
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
mod aarch64;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue