Remove ARM udf and dbg intrinsics

These have already been removed for AArch64
This commit is contained in:
Amanieu d'Antras 2023-10-26 17:45:48 +01:00
parent 7de980e124
commit 0352c542d1

View file

@ -68,35 +68,3 @@ pub(crate) mod neon;
#[cfg(target_endian = "little")]
#[cfg(any(target_feature = "v7", doc))]
pub use neon::*;
/// Generates the trap instruction `UDF`
#[cfg(target_arch = "arm")]
#[cfg_attr(test, assert_instr(udf))]
#[inline]
pub unsafe fn udf() -> ! {
crate::intrinsics::abort()
}
/// Generates a DBG instruction.
///
/// This provides a hint to debugging and related systems. The argument must be
/// a constant integer from 0 to 15 inclusive. See implementation documentation
/// for the effect (if any) of this instruction and the meaning of the
/// argument. This is available only when compiling for AArch32.
// Section 10.1 of ACLE says that the supported arches are: 7, 7-M
// "The DBG hint instruction is added in ARMv7. It is UNDEFINED in the ARMv6 base architecture, and
// executes as a NOP instruction in ARMv6K and ARMv6T2." - ARM Architecture Reference Manual ARMv7-A
// and ARMv7-R edition (ARM DDI 0406C.c) sections D12.4.1 "ARM instruction set support" and D12.4.2
// "Thumb instruction set support"
#[cfg(any(target_feature = "v7", doc))]
#[inline(always)]
#[rustc_legacy_const_generics(0)]
pub unsafe fn __dbg<const IMM4: i32>() {
static_assert_uimm_bits!(IMM4, 4);
dbg(IMM4);
}
extern "unadjusted" {
#[link_name = "llvm.arm.dbg"]
fn dbg(_: i32);
}