Skip to content

Commit 244db78

Browse files
committed
Add tracking issue for AArch64 TME intrinsics
1 parent 0e3fe2e commit 244db78

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

crates/core_arch/src/aarch64/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ mod neon;
1414
pub use self::neon::*;
1515

1616
mod tme;
17+
#[unstable(feature = "stdarch_aarch64_tme", issue = "117216")]
1718
pub use self::tme::*;
1819

1920
mod crc;

crates/core_arch/src/aarch64/tme.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,39 +29,51 @@ extern "unadjusted" {
2929
}
3030

3131
/// Transaction successfully started.
32+
#[unstable(feature = "stdarch_aarch64_tme", issue = "117216")]
3233
pub const _TMSTART_SUCCESS: u64 = 0x00_u64;
3334

3435
/// Extraction mask for failure reason
36+
#[unstable(feature = "stdarch_aarch64_tme", issue = "117216")]
3537
pub const _TMFAILURE_REASON: u64 = 0x00007FFF_u64;
3638

3739
/// Transaction retry is possible.
40+
#[unstable(feature = "stdarch_aarch64_tme", issue = "117216")]
3841
pub const _TMFAILURE_RTRY: u64 = 1 << 15;
3942

4043
/// Transaction executed a TCANCEL instruction
44+
#[unstable(feature = "stdarch_aarch64_tme", issue = "117216")]
4145
pub const _TMFAILURE_CNCL: u64 = 1 << 16;
4246

4347
/// Transaction aborted because a conflict occurred
48+
#[unstable(feature = "stdarch_aarch64_tme", issue = "117216")]
4449
pub const _TMFAILURE_MEM: u64 = 1 << 17;
4550

4651
/// Fallback error type for any other reason
52+
#[unstable(feature = "stdarch_aarch64_tme", issue = "117216")]
4753
pub const _TMFAILURE_IMP: u64 = 1 << 18;
4854

4955
/// Transaction aborted because a non-permissible operation was attempted
56+
#[unstable(feature = "stdarch_aarch64_tme", issue = "117216")]
5057
pub const _TMFAILURE_ERR: u64 = 1 << 19;
5158

5259
/// Transaction aborted due to read or write set limit was exceeded
60+
#[unstable(feature = "stdarch_aarch64_tme", issue = "117216")]
5361
pub const _TMFAILURE_SIZE: u64 = 1 << 20;
5462

5563
/// Transaction aborted due to transactional nesting level was exceeded
64+
#[unstable(feature = "stdarch_aarch64_tme", issue = "117216")]
5665
pub const _TMFAILURE_NEST: u64 = 1 << 21;
5766

5867
/// Transaction aborted due to a debug trap.
68+
#[unstable(feature = "stdarch_aarch64_tme", issue = "117216")]
5969
pub const _TMFAILURE_DBG: u64 = 1 << 22;
6070

6171
/// Transaction failed from interrupt
72+
#[unstable(feature = "stdarch_aarch64_tme", issue = "117216")]
6273
pub const _TMFAILURE_INT: u64 = 1 << 23;
6374

6475
/// Indicates a TRIVIAL version of TM is available
76+
#[unstable(feature = "stdarch_aarch64_tme", issue = "117216")]
6577
pub const _TMFAILURE_TRIVIAL: u64 = 1 << 24;
6678

6779
/// Starts a new transaction. When the transaction starts successfully the return value is 0.
@@ -72,6 +84,7 @@ pub const _TMFAILURE_TRIVIAL: u64 = 1 << 24;
7284
#[inline]
7385
#[target_feature(enable = "tme")]
7486
#[cfg_attr(test, assert_instr(tstart))]
87+
#[unstable(feature = "stdarch_aarch64_tme", issue = "117216")]
7588
pub unsafe fn __tstart() -> u64 {
7689
aarch64_tstart()
7790
}
@@ -84,6 +97,7 @@ pub unsafe fn __tstart() -> u64 {
8497
#[inline]
8598
#[target_feature(enable = "tme")]
8699
#[cfg_attr(test, assert_instr(tcommit))]
100+
#[unstable(feature = "stdarch_aarch64_tme", issue = "117216")]
87101
pub unsafe fn __tcommit() {
88102
aarch64_tcommit()
89103
}
@@ -95,6 +109,7 @@ pub unsafe fn __tcommit() {
95109
#[target_feature(enable = "tme")]
96110
#[cfg_attr(test, assert_instr(tcancel, IMM16 = 0x0))]
97111
#[rustc_legacy_const_generics(0)]
112+
#[unstable(feature = "stdarch_aarch64_tme", issue = "117216")]
98113
pub unsafe fn __tcancel<const IMM16: u64>() {
99114
static_assert!(IMM16 <= 65535);
100115
aarch64_tcancel(IMM16);
@@ -107,6 +122,7 @@ pub unsafe fn __tcancel<const IMM16: u64>() {
107122
#[inline]
108123
#[target_feature(enable = "tme")]
109124
#[cfg_attr(test, assert_instr(ttest))]
125+
#[unstable(feature = "stdarch_aarch64_tme", issue = "117216")]
110126
pub unsafe fn __ttest() -> u64 {
111127
aarch64_ttest()
112128
}

0 commit comments

Comments
 (0)