Skip to content

Commit d12b01d

Browse files
committed
Stabilize AArch64 SHA3 intrinsics
See also: rust-lang/rust#117225
1 parent c0bb36e commit d12b01d

File tree

2 files changed

+22
-22
lines changed

2 files changed

+22
-22
lines changed

crates/core_arch/src/aarch64/neon/generated.rs

+21-21
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use stdarch_test::assert_instr;
1515
#[inline]
1616
#[target_feature(enable = "neon,sha3")]
1717
#[cfg_attr(test, assert_instr(eor3))]
18-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
18+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
1919
pub unsafe fn veor3q_s8(a: int8x16_t, b: int8x16_t, c: int8x16_t) -> int8x16_t {
2020
#[allow(improper_ctypes)]
2121
extern "unadjusted" {
@@ -31,7 +31,7 @@ pub unsafe fn veor3q_s8(a: int8x16_t, b: int8x16_t, c: int8x16_t) -> int8x16_t {
3131
#[inline]
3232
#[target_feature(enable = "neon,sha3")]
3333
#[cfg_attr(test, assert_instr(eor3))]
34-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
34+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
3535
pub unsafe fn veor3q_s16(a: int16x8_t, b: int16x8_t, c: int16x8_t) -> int16x8_t {
3636
#[allow(improper_ctypes)]
3737
extern "unadjusted" {
@@ -47,7 +47,7 @@ pub unsafe fn veor3q_s16(a: int16x8_t, b: int16x8_t, c: int16x8_t) -> int16x8_t
4747
#[inline]
4848
#[target_feature(enable = "neon,sha3")]
4949
#[cfg_attr(test, assert_instr(eor3))]
50-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
50+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
5151
pub unsafe fn veor3q_s32(a: int32x4_t, b: int32x4_t, c: int32x4_t) -> int32x4_t {
5252
#[allow(improper_ctypes)]
5353
extern "unadjusted" {
@@ -63,7 +63,7 @@ pub unsafe fn veor3q_s32(a: int32x4_t, b: int32x4_t, c: int32x4_t) -> int32x4_t
6363
#[inline]
6464
#[target_feature(enable = "neon,sha3")]
6565
#[cfg_attr(test, assert_instr(eor3))]
66-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
66+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
6767
pub unsafe fn veor3q_s64(a: int64x2_t, b: int64x2_t, c: int64x2_t) -> int64x2_t {
6868
#[allow(improper_ctypes)]
6969
extern "unadjusted" {
@@ -79,7 +79,7 @@ pub unsafe fn veor3q_s64(a: int64x2_t, b: int64x2_t, c: int64x2_t) -> int64x2_t
7979
#[inline]
8080
#[target_feature(enable = "neon,sha3")]
8181
#[cfg_attr(test, assert_instr(eor3))]
82-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
82+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
8383
pub unsafe fn veor3q_u8(a: uint8x16_t, b: uint8x16_t, c: uint8x16_t) -> uint8x16_t {
8484
#[allow(improper_ctypes)]
8585
extern "unadjusted" {
@@ -95,7 +95,7 @@ pub unsafe fn veor3q_u8(a: uint8x16_t, b: uint8x16_t, c: uint8x16_t) -> uint8x16
9595
#[inline]
9696
#[target_feature(enable = "neon,sha3")]
9797
#[cfg_attr(test, assert_instr(eor3))]
98-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
98+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
9999
pub unsafe fn veor3q_u16(a: uint16x8_t, b: uint16x8_t, c: uint16x8_t) -> uint16x8_t {
100100
#[allow(improper_ctypes)]
101101
extern "unadjusted" {
@@ -111,7 +111,7 @@ pub unsafe fn veor3q_u16(a: uint16x8_t, b: uint16x8_t, c: uint16x8_t) -> uint16x
111111
#[inline]
112112
#[target_feature(enable = "neon,sha3")]
113113
#[cfg_attr(test, assert_instr(eor3))]
114-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
114+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
115115
pub unsafe fn veor3q_u32(a: uint32x4_t, b: uint32x4_t, c: uint32x4_t) -> uint32x4_t {
116116
#[allow(improper_ctypes)]
117117
extern "unadjusted" {
@@ -127,7 +127,7 @@ pub unsafe fn veor3q_u32(a: uint32x4_t, b: uint32x4_t, c: uint32x4_t) -> uint32x
127127
#[inline]
128128
#[target_feature(enable = "neon,sha3")]
129129
#[cfg_attr(test, assert_instr(eor3))]
130-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
130+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
131131
pub unsafe fn veor3q_u64(a: uint64x2_t, b: uint64x2_t, c: uint64x2_t) -> uint64x2_t {
132132
#[allow(improper_ctypes)]
133133
extern "unadjusted" {
@@ -9977,7 +9977,7 @@ pub unsafe fn vsubl_high_u32(a: uint32x4_t, b: uint32x4_t) -> uint64x2_t {
99779977
#[inline]
99789978
#[target_feature(enable = "neon,sha3")]
99799979
#[cfg_attr(test, assert_instr(bcax))]
9980-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
9980+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
99819981
pub unsafe fn vbcaxq_s8(a: int8x16_t, b: int8x16_t, c: int8x16_t) -> int8x16_t {
99829982
#[allow(improper_ctypes)]
99839983
extern "unadjusted" {
@@ -9993,7 +9993,7 @@ pub unsafe fn vbcaxq_s8(a: int8x16_t, b: int8x16_t, c: int8x16_t) -> int8x16_t {
99939993
#[inline]
99949994
#[target_feature(enable = "neon,sha3")]
99959995
#[cfg_attr(test, assert_instr(bcax))]
9996-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
9996+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
99979997
pub unsafe fn vbcaxq_s16(a: int16x8_t, b: int16x8_t, c: int16x8_t) -> int16x8_t {
99989998
#[allow(improper_ctypes)]
99999999
extern "unadjusted" {
@@ -10009,7 +10009,7 @@ pub unsafe fn vbcaxq_s16(a: int16x8_t, b: int16x8_t, c: int16x8_t) -> int16x8_t
1000910009
#[inline]
1001010010
#[target_feature(enable = "neon,sha3")]
1001110011
#[cfg_attr(test, assert_instr(bcax))]
10012-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
10012+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
1001310013
pub unsafe fn vbcaxq_s32(a: int32x4_t, b: int32x4_t, c: int32x4_t) -> int32x4_t {
1001410014
#[allow(improper_ctypes)]
1001510015
extern "unadjusted" {
@@ -10025,7 +10025,7 @@ pub unsafe fn vbcaxq_s32(a: int32x4_t, b: int32x4_t, c: int32x4_t) -> int32x4_t
1002510025
#[inline]
1002610026
#[target_feature(enable = "neon,sha3")]
1002710027
#[cfg_attr(test, assert_instr(bcax))]
10028-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
10028+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
1002910029
pub unsafe fn vbcaxq_s64(a: int64x2_t, b: int64x2_t, c: int64x2_t) -> int64x2_t {
1003010030
#[allow(improper_ctypes)]
1003110031
extern "unadjusted" {
@@ -10041,7 +10041,7 @@ pub unsafe fn vbcaxq_s64(a: int64x2_t, b: int64x2_t, c: int64x2_t) -> int64x2_t
1004110041
#[inline]
1004210042
#[target_feature(enable = "neon,sha3")]
1004310043
#[cfg_attr(test, assert_instr(bcax))]
10044-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
10044+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
1004510045
pub unsafe fn vbcaxq_u8(a: uint8x16_t, b: uint8x16_t, c: uint8x16_t) -> uint8x16_t {
1004610046
#[allow(improper_ctypes)]
1004710047
extern "unadjusted" {
@@ -10057,7 +10057,7 @@ pub unsafe fn vbcaxq_u8(a: uint8x16_t, b: uint8x16_t, c: uint8x16_t) -> uint8x16
1005710057
#[inline]
1005810058
#[target_feature(enable = "neon,sha3")]
1005910059
#[cfg_attr(test, assert_instr(bcax))]
10060-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
10060+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
1006110061
pub unsafe fn vbcaxq_u16(a: uint16x8_t, b: uint16x8_t, c: uint16x8_t) -> uint16x8_t {
1006210062
#[allow(improper_ctypes)]
1006310063
extern "unadjusted" {
@@ -10073,7 +10073,7 @@ pub unsafe fn vbcaxq_u16(a: uint16x8_t, b: uint16x8_t, c: uint16x8_t) -> uint16x
1007310073
#[inline]
1007410074
#[target_feature(enable = "neon,sha3")]
1007510075
#[cfg_attr(test, assert_instr(bcax))]
10076-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
10076+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
1007710077
pub unsafe fn vbcaxq_u32(a: uint32x4_t, b: uint32x4_t, c: uint32x4_t) -> uint32x4_t {
1007810078
#[allow(improper_ctypes)]
1007910079
extern "unadjusted" {
@@ -10089,7 +10089,7 @@ pub unsafe fn vbcaxq_u32(a: uint32x4_t, b: uint32x4_t, c: uint32x4_t) -> uint32x
1008910089
#[inline]
1009010090
#[target_feature(enable = "neon,sha3")]
1009110091
#[cfg_attr(test, assert_instr(bcax))]
10092-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
10092+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
1009310093
pub unsafe fn vbcaxq_u64(a: uint64x2_t, b: uint64x2_t, c: uint64x2_t) -> uint64x2_t {
1009410094
#[allow(improper_ctypes)]
1009510095
extern "unadjusted" {
@@ -15261,7 +15261,7 @@ pub unsafe fn vsm4eq_u32(a: uint32x4_t, b: uint32x4_t) -> uint32x4_t {
1526115261
#[inline]
1526215262
#[target_feature(enable = "neon,sha3")]
1526315263
#[cfg_attr(test, assert_instr(rax1))]
15264-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
15264+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
1526515265
pub unsafe fn vrax1q_u64(a: uint64x2_t, b: uint64x2_t) -> uint64x2_t {
1526615266
#[allow(improper_ctypes)]
1526715267
extern "unadjusted" {
@@ -15277,7 +15277,7 @@ pub unsafe fn vrax1q_u64(a: uint64x2_t, b: uint64x2_t) -> uint64x2_t {
1527715277
#[inline]
1527815278
#[target_feature(enable = "neon,sha3")]
1527915279
#[cfg_attr(test, assert_instr(sha512h))]
15280-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
15280+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
1528115281
pub unsafe fn vsha512hq_u64(a: uint64x2_t, b: uint64x2_t, c: uint64x2_t) -> uint64x2_t {
1528215282
#[allow(improper_ctypes)]
1528315283
extern "unadjusted" {
@@ -15293,7 +15293,7 @@ pub unsafe fn vsha512hq_u64(a: uint64x2_t, b: uint64x2_t, c: uint64x2_t) -> uint
1529315293
#[inline]
1529415294
#[target_feature(enable = "neon,sha3")]
1529515295
#[cfg_attr(test, assert_instr(sha512h2))]
15296-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
15296+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
1529715297
pub unsafe fn vsha512h2q_u64(a: uint64x2_t, b: uint64x2_t, c: uint64x2_t) -> uint64x2_t {
1529815298
#[allow(improper_ctypes)]
1529915299
extern "unadjusted" {
@@ -15309,7 +15309,7 @@ pub unsafe fn vsha512h2q_u64(a: uint64x2_t, b: uint64x2_t, c: uint64x2_t) -> uin
1530915309
#[inline]
1531015310
#[target_feature(enable = "neon,sha3")]
1531115311
#[cfg_attr(test, assert_instr(sha512su0))]
15312-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
15312+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
1531315313
pub unsafe fn vsha512su0q_u64(a: uint64x2_t, b: uint64x2_t) -> uint64x2_t {
1531415314
#[allow(improper_ctypes)]
1531515315
extern "unadjusted" {
@@ -15325,7 +15325,7 @@ pub unsafe fn vsha512su0q_u64(a: uint64x2_t, b: uint64x2_t) -> uint64x2_t {
1532515325
#[inline]
1532615326
#[target_feature(enable = "neon,sha3")]
1532715327
#[cfg_attr(test, assert_instr(sha512su1))]
15328-
#[unstable(feature = "stdarch_neon_sha3", issue = "117225")]
15328+
#[stable(feature = "stdarch_neon_sha3", since = "CURRENT_RUSTC_VERSION")]
1532915329
pub unsafe fn vsha512su1q_u64(a: uint64x2_t, b: uint64x2_t, c: uint64x2_t) -> uint64x2_t {
1533015330
#[allow(improper_ctypes)]
1533115331
extern "unadjusted" {

crates/stdarch-gen-arm/src/main.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -526,10 +526,10 @@ impl TargetFeature {
526526
Default | ArmV7 | Vfp4 | FPArmV8 | AES => {
527527
"stable(feature = \"neon_intrinsics\", since = \"1.59.0\")"
528528
}
529+
SHA3 => "stable(feature = \"stdarch_neon_sha3\", since = \"CURRENT_RUSTC_VERSION\")",
529530
FCMA => "unstable(feature = \"stdarch_neon_fcma\", issue = \"117222\")",
530531
Dotprod => "unstable(feature = \"stdarch_neon_dotprod\", issue = \"117224\")",
531532
I8MM => "unstable(feature = \"stdarch_neon_i8mm\", issue = \"117223\")",
532-
SHA3 => "unstable(feature = \"stdarch_neon_sha3\", issue = \"117225\")",
533533
RDM => "stable(feature = \"rdm_intrinsics\", since = \"1.62.0\")",
534534
SM4 => "unstable(feature = \"stdarch_neon_sm4\", issue = \"117226\")",
535535
FTTS => "unstable(feature = \"stdarch_neon_ftts\", issue = \"117227\")",

0 commit comments

Comments
 (0)