mod.rs - source
Description: Source of the Rust file `library/core/src/../../stdarch/crates/core_arch/src/arm/mod.rs`.

#
core/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
    9// Supported arches: 6, 7-M. See Section 10.1 of ACLE (e.g. SSAT)
    10#[cfg(any(target_feature = "v6", doc))]
    11mod sat;
    12
    13#[cfg(any(target_feature = "v6", doc))]
    14#[unstable(feature = "stdarch_arm_sat", issue = "none")]
    15pub use self::sat::*;
    16
    17// Supported arches: 5TE, 7E-M. See Section 10.1 of ACLE (e.g. QADD)
    18// We also include the A profile even though DSP is deprecated on that profile as of ACLE 2.0 (see
    19// section 5.4.7)
    20// Here we workaround the difference between LLVM's +dsp and ACLE's __ARM_FEATURE_DSP by gating on
    21// '+v5te' rather than on '+dsp'
    22#[cfg(any(
    23    // >= v5TE but excludes v7-M
    24    all(target_feature = "v5te", not(target_feature = "mclass")),
    25    // v7E-M
    26    all(target_feature = "mclass", target_feature = "dsp"),
    27    doc,
    28))]
    29mod dsp;
    30
    31#[cfg(any(
    32    // >= v5TE but excludes v7-M
    33    all(target_feature = "v5te", not(target_feature = "mclass")),
    34    // v7E-M
    35    all(target_feature = "mclass", target_feature = "dsp"),
    36    doc,
    37))]
    38#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
    39pub use self::dsp::*;
    40
    41// Deprecated in ACLE 2.0 for the A profile but fully supported on the M and R profiles, says
    42// Section 5.4.9 of ACLE. We'll expose these for the A profile even if deprecated
    43#[cfg(any(
    44    // v7-A, v7-R
    45    all(target_feature = "v6", not(target_feature = "mclass")),
    46    // v7E-M
    47    all(target_feature = "mclass", target_feature = "dsp"),
    48    doc,
    49))]
    50mod simd32;
    51
    52#[cfg(any(
    53    // v7-A, v7-R
    54    all(target_feature = "v6", not(target_feature = "mclass")),
    55    // v7E-M
    56    all(target_feature = "mclass", target_feature = "dsp"),
    57    doc,
    58))]
    59#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
    60pub use self::simd32::*;
    61
    62#[unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")]
    63pub use crate::core_arch::arm_shared::*;
    64
    65#[cfg(test)]
    66use stdarch_test::assert_instr;