@@ -21417,14 +21417,7 @@ pub fn vrax1q_u64(a: uint64x2_t, b: uint64x2_t) -> uint64x2_t {
2141721417#[stable(feature = "neon_intrinsics", since = "1.59.0")]
2141821418#[cfg_attr(test, assert_instr(rbit))]
2141921419pub fn vrbit_s8(a: int8x8_t) -> int8x8_t {
21420- unsafe extern "unadjusted" {
21421- #[cfg_attr(
21422- any(target_arch = "aarch64", target_arch = "arm64ec"),
21423- link_name = "llvm.bitreverse.v8i8"
21424- )]
21425- fn _vrbit_s8(a: int8x8_t) -> int8x8_t;
21426- }
21427- unsafe { _vrbit_s8(a) }
21420+ unsafe { simd_bitreverse(a) }
2142821421}
2142921422#[doc = "Reverse bit order"]
2143021423#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrbitq_s8)"]
@@ -21433,120 +21426,43 @@ pub fn vrbit_s8(a: int8x8_t) -> int8x8_t {
2143321426#[stable(feature = "neon_intrinsics", since = "1.59.0")]
2143421427#[cfg_attr(test, assert_instr(rbit))]
2143521428pub fn vrbitq_s8(a: int8x16_t) -> int8x16_t {
21436- unsafe extern "unadjusted" {
21437- #[cfg_attr(
21438- any(target_arch = "aarch64", target_arch = "arm64ec"),
21439- link_name = "llvm.bitreverse.v16i8"
21440- )]
21441- fn _vrbitq_s8(a: int8x16_t) -> int8x16_t;
21442- }
21443- unsafe { _vrbitq_s8(a) }
21444- }
21445- #[doc = "Reverse bit order"]
21446- #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrbit_u8)"]
21447- #[inline]
21448- #[cfg(target_endian = "little")]
21449- #[target_feature(enable = "neon")]
21450- #[stable(feature = "neon_intrinsics", since = "1.59.0")]
21451- #[cfg_attr(test, assert_instr(rbit))]
21452- pub fn vrbit_u8(a: uint8x8_t) -> uint8x8_t {
21453- unsafe { transmute(vrbit_s8(transmute(a))) }
21429+ unsafe { simd_bitreverse(a) }
2145421430}
2145521431#[doc = "Reverse bit order"]
2145621432#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrbit_u8)"]
2145721433#[inline]
21458- #[cfg(target_endian = "big")]
2145921434#[target_feature(enable = "neon")]
2146021435#[stable(feature = "neon_intrinsics", since = "1.59.0")]
2146121436#[cfg_attr(test, assert_instr(rbit))]
2146221437pub fn vrbit_u8(a: uint8x8_t) -> uint8x8_t {
21463- let a: uint8x8_t = unsafe { simd_shuffle!(a, a, [7, 6, 5, 4, 3, 2, 1, 0]) };
21464- unsafe {
21465- let ret_val: uint8x8_t = transmute(vrbit_s8(transmute(a)));
21466- simd_shuffle!(ret_val, ret_val, [7, 6, 5, 4, 3, 2, 1, 0])
21467- }
21438+ unsafe { simd_bitreverse(a) }
2146821439}
2146921440#[doc = "Reverse bit order"]
2147021441#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrbitq_u8)"]
2147121442#[inline]
21472- #[cfg(target_endian = "little")]
2147321443#[target_feature(enable = "neon")]
2147421444#[stable(feature = "neon_intrinsics", since = "1.59.0")]
2147521445#[cfg_attr(test, assert_instr(rbit))]
2147621446pub fn vrbitq_u8(a: uint8x16_t) -> uint8x16_t {
21477- unsafe { transmute(vrbitq_s8(transmute(a))) }
21478- }
21479- #[doc = "Reverse bit order"]
21480- #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrbitq_u8)"]
21481- #[inline]
21482- #[cfg(target_endian = "big")]
21483- #[target_feature(enable = "neon")]
21484- #[stable(feature = "neon_intrinsics", since = "1.59.0")]
21485- #[cfg_attr(test, assert_instr(rbit))]
21486- pub fn vrbitq_u8(a: uint8x16_t) -> uint8x16_t {
21487- let a: uint8x16_t =
21488- unsafe { simd_shuffle!(a, a, [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]) };
21489- unsafe {
21490- let ret_val: uint8x16_t = transmute(vrbitq_s8(transmute(a)));
21491- simd_shuffle!(
21492- ret_val,
21493- ret_val,
21494- [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
21495- )
21496- }
21447+ unsafe { simd_bitreverse(a) }
2149721448}
2149821449#[doc = "Reverse bit order"]
2149921450#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrbit_p8)"]
2150021451#[inline]
21501- #[cfg(target_endian = "little")]
2150221452#[target_feature(enable = "neon")]
2150321453#[stable(feature = "neon_intrinsics", since = "1.59.0")]
2150421454#[cfg_attr(test, assert_instr(rbit))]
2150521455pub fn vrbit_p8(a: poly8x8_t) -> poly8x8_t {
21506- unsafe { transmute(vrbit_s8(transmute(a))) }
21507- }
21508- #[doc = "Reverse bit order"]
21509- #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrbit_p8)"]
21510- #[inline]
21511- #[cfg(target_endian = "big")]
21512- #[target_feature(enable = "neon")]
21513- #[stable(feature = "neon_intrinsics", since = "1.59.0")]
21514- #[cfg_attr(test, assert_instr(rbit))]
21515- pub fn vrbit_p8(a: poly8x8_t) -> poly8x8_t {
21516- let a: poly8x8_t = unsafe { simd_shuffle!(a, a, [7, 6, 5, 4, 3, 2, 1, 0]) };
21517- unsafe {
21518- let ret_val: poly8x8_t = transmute(vrbit_s8(transmute(a)));
21519- simd_shuffle!(ret_val, ret_val, [7, 6, 5, 4, 3, 2, 1, 0])
21520- }
21456+ unsafe { simd_bitreverse(a) }
2152121457}
2152221458#[doc = "Reverse bit order"]
2152321459#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrbitq_p8)"]
2152421460#[inline]
21525- #[cfg(target_endian = "little")]
21526- #[target_feature(enable = "neon")]
21527- #[stable(feature = "neon_intrinsics", since = "1.59.0")]
21528- #[cfg_attr(test, assert_instr(rbit))]
21529- pub fn vrbitq_p8(a: poly8x16_t) -> poly8x16_t {
21530- unsafe { transmute(vrbitq_s8(transmute(a))) }
21531- }
21532- #[doc = "Reverse bit order"]
21533- #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrbitq_p8)"]
21534- #[inline]
21535- #[cfg(target_endian = "big")]
2153621461#[target_feature(enable = "neon")]
2153721462#[stable(feature = "neon_intrinsics", since = "1.59.0")]
2153821463#[cfg_attr(test, assert_instr(rbit))]
2153921464pub fn vrbitq_p8(a: poly8x16_t) -> poly8x16_t {
21540- let a: poly8x16_t =
21541- unsafe { simd_shuffle!(a, a, [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]) };
21542- unsafe {
21543- let ret_val: poly8x16_t = transmute(vrbitq_s8(transmute(a)));
21544- simd_shuffle!(
21545- ret_val,
21546- ret_val,
21547- [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
21548- )
21549- }
21465+ unsafe { simd_bitreverse(a) }
2155021466}
2155121467#[doc = "Reciprocal estimate."]
2155221468#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrecpe_f64)"]
0 commit comments