Skip to content

Commit 0a2df59

Browse files
committed
Remove obscure & rarely used ARM intrinsics
In almost all cases it is preferable to use the stable `asm!` instead of calling these intrinsics. This PR removes the following unstable intrinsics: - `__breakpoint` Clang extension, not part of ACLE. - `brk`: undocumented - `_rev*`, `_clz*`, `_rbit*`: use methods on integer types instead - `__ldrex`, `__strex`: deprecated in ACLE, hard to use correctly - Register access API: API doesn't match ACLE, better to just use asm Also considered for deletion, but not included in this PR: - Barriers: `__isb`, `__dsb`, `__dmb` - Hints: `__wfi`, `__wfe`, `__sev`, `__sevl`, `__yield`, `__nop`
1 parent d77878b commit 0a2df59

File tree

13 files changed

+0
-640
lines changed

13 files changed

+0
-640
lines changed

crates/core_arch/src/aarch64/armclang.rs

Lines changed: 0 additions & 23 deletions
This file was deleted.

crates/core_arch/src/aarch64/mod.rs

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@
66
//! [arm_ref]: http://infocenter.arm.com/help/topic/com.arm.doc.ihi0073a/IHI0073A_arm_neon_intrinsics_ref.pdf
77
//! [arm_dat]: https://developer.arm.com/technologies/neon/intrinsics
88
9-
mod v8;
10-
pub use self::v8::*;
11-
129
mod neon;
1310
pub use self::neon::*;
1411

@@ -23,19 +20,8 @@ pub use self::prefetch::*;
2320

2421
pub use super::arm_shared::*;
2522

26-
mod armclang;
27-
28-
pub use self::armclang::*;
29-
3023
#[cfg(test)]
3124
use stdarch_test::assert_instr;
3225

33-
/// Generates the trap instruction `BRK 1`
34-
#[cfg_attr(test, assert_instr(brk))]
35-
#[inline]
36-
pub unsafe fn brk() -> ! {
37-
crate::intrinsics::abort()
38-
}
39-
4026
#[cfg(test)]
4127
pub(crate) mod test_support;

crates/core_arch/src/aarch64/v8.rs

Lines changed: 0 additions & 104 deletions
This file was deleted.

crates/core_arch/src/arm/armclang.rs

Lines changed: 0 additions & 35 deletions
This file was deleted.

crates/core_arch/src/arm/ex.rs

Lines changed: 0 additions & 125 deletions
This file was deleted.

crates/core_arch/src/arm/mod.rs

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,6 @@
66
//! [arm_ref]: http://infocenter.arm.com/help/topic/com.arm.doc.ihi0073a/IHI0073A_arm_neon_intrinsics_ref.pdf
77
//! [arm_dat]: https://developer.arm.com/technologies/neon/intrinsics
88
9-
mod armclang;
10-
pub use self::armclang::*;
11-
12-
mod v6;
13-
pub use self::v6::*;
14-
159
// Supported arches: 6, 7-M. See Section 10.1 of ACLE (e.g. SSAT)
1610
#[cfg(any(target_feature = "v6", doc))]
1711
mod sat;
@@ -62,14 +56,6 @@ mod simd32;
6256
))]
6357
pub use self::simd32::*;
6458

65-
#[cfg(any(target_feature = "v7", doc))]
66-
mod v7;
67-
#[cfg(any(target_feature = "v7", doc))]
68-
pub use self::v7::*;
69-
70-
mod ex;
71-
pub use self::ex::*;
72-
7359
pub use crate::core_arch::arm_shared::*;
7460

7561
#[cfg(test)]

crates/core_arch/src/arm/v6.rs

Lines changed: 0 additions & 49 deletions
This file was deleted.

0 commit comments

Comments
 (0)