Add tracking issue for ARM hint intrinsics

This commit is contained in:
Amanieu d'Antras 2023-10-26 12:30:39 +01:00
parent 6bde701fe3
commit bd54f94098
2 changed files with 7 additions and 0 deletions

View file

@ -11,6 +11,7 @@
// LLVM says "instruction requires: armv6k"
#[cfg(any(target_feature = "v6", target_arch = "aarch64", doc))]
#[inline(always)]
#[unstable(feature = "stdarch_arm_hints", issue = "117218")]
pub unsafe fn __wfi() {
hint(HINT_WFI);
}
@ -24,6 +25,7 @@ pub unsafe fn __wfi() {
// LLVM says "instruction requires: armv6k"
#[cfg(any(target_feature = "v6", target_arch = "aarch64", doc))]
#[inline(always)]
#[unstable(feature = "stdarch_arm_hints", issue = "117218")]
pub unsafe fn __wfe() {
hint(HINT_WFE);
}
@ -36,6 +38,7 @@ pub unsafe fn __wfe() {
// LLVM says "instruction requires: armv6k"
#[cfg(any(target_feature = "v6", target_arch = "aarch64", doc))]
#[inline(always)]
#[unstable(feature = "stdarch_arm_hints", issue = "117218")]
pub unsafe fn __sev() {
hint(HINT_SEV);
}
@ -52,6 +55,7 @@ pub unsafe fn __sev() {
doc,
))]
#[inline(always)]
#[unstable(feature = "stdarch_arm_hints", issue = "117218")]
pub unsafe fn __sevl() {
hint(HINT_SEVL);
}
@ -65,6 +69,7 @@ pub unsafe fn __sevl() {
// LLVM says "instruction requires: armv6k"
#[cfg(any(target_feature = "v6", target_arch = "aarch64", doc))]
#[inline(always)]
#[unstable(feature = "stdarch_arm_hints", issue = "117218")]
pub unsafe fn __yield() {
hint(HINT_YIELD);
}
@ -76,6 +81,7 @@ pub unsafe fn __yield() {
/// another instruction. It is not guaranteed that inserting this instruction
/// will increase execution time.
#[inline(always)]
#[unstable(feature = "stdarch_arm_hints", issue = "117218")]
pub unsafe fn __nop() {
crate::arch::asm!("nop", options(nomem, nostack, preserves_flags));
}

View file

@ -57,6 +57,7 @@ mod barrier;
pub use self::barrier::*;
mod hints;
#[unstable(feature = "stdarch_arm_hints", issue = "117218")]
pub use self::hints::*;
mod crc;