Skip to content

Commit

Permalink
acle/{simd32,dsp}: not available on aarch64
Browse files Browse the repository at this point in the history
  • Loading branch information
japaric authored and gnzlbg committed Feb 18, 2019
1 parent 7af0a08 commit cc9bf63
Showing 1 changed file with 28 additions and 16 deletions.
44 changes: 28 additions & 16 deletions crates/core_arch/src/acle/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,33 +59,45 @@ pub use self::registers::*;
// Supported arches: 5TE, 7E-M. See Section 10.1 of ACLE (e.g. QADD)
// We also include the A profile even though DSP is deprecated on that profile as of ACLE 2.0 (see
// section 5.4.7)
#[cfg(any(
// >= v5TE but excludes v7-A
all(target_feature = "v5te", not(target_feature = "mclass")),
// v7E-M
all(target_feature = "mclass", target_feature = "dsp"),
#[cfg(all(
not(target_arch = "aarch64"),
any(
// >= v5TE but excludes v7-A
all(target_feature = "v5te", not(target_feature = "mclass")),
// v7E-M
all(target_feature = "mclass", target_feature = "dsp"),
)
))]
mod dsp;

#[cfg(any(
all(target_feature = "v5te", not(target_feature = "mclass")),
all(target_feature = "mclass", target_feature = "dsp"),
#[cfg(all(
not(target_arch = "aarch64"),
any(
all(target_feature = "v5te", not(target_feature = "mclass")),
all(target_feature = "mclass", target_feature = "dsp"),
)
))]
pub use self::dsp::*;

// Deprecated in ACLE 2.0 for the A profile but fully supported on the M and R profiles, says
// Section 5.4.9 of ACLE. We'll expose these for the A profile even if deprecated
#[cfg(any(
// v7-A, v7-R
all(target_feature = "v6", not(target_feature = "mclass")),
// v7E-M
all(target_feature = "mclass", target_feature = "dsp")
#[cfg(all(
not(target_arch = "aarch64"),
any(
// v7-A, v7-R
all(target_feature = "v6", not(target_feature = "mclass")),
// v7E-M
all(target_feature = "mclass", target_feature = "dsp")
)
))]
mod simd32;

#[cfg(any(
all(target_feature = "v6", not(target_feature = "mclass")),
all(target_feature = "mclass", target_feature = "dsp")
#[cfg(all(
not(target_arch = "aarch64"),
any(
all(target_feature = "v6", not(target_feature = "mclass")),
all(target_feature = "mclass", target_feature = "dsp")
)
))]
pub use self::simd32::*;

Expand Down

0 comments on commit cc9bf63

Please sign in to comment.