|
|
|
@ -1565,7 +1565,7 @@ pub fn vceqh_f16(a: f16, b: f16) -> u16 {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fcmeq))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcmeq))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vceqz_f16(a: float16x4_t) -> uint16x4_t {
|
|
|
|
pub fn vceqz_f16(a: float16x4_t) -> uint16x4_t {
|
|
|
|
let b: f16x4 = f16x4::new(0.0, 0.0, 0.0, 0.0);
|
|
|
|
let b: f16x4 = f16x4::new(0.0, 0.0, 0.0, 0.0);
|
|
|
|
@ -1576,7 +1576,7 @@ pub fn vceqz_f16(a: float16x4_t) -> uint16x4_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fcmeq))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcmeq))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vceqzq_f16(a: float16x8_t) -> uint16x8_t {
|
|
|
|
pub fn vceqzq_f16(a: float16x8_t) -> uint16x8_t {
|
|
|
|
let b: f16x8 = f16x8::new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
|
|
|
|
let b: f16x8 = f16x8::new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
|
|
|
|
@ -7283,7 +7283,7 @@ pub fn vcvtq_f64_u64(a: uint64x2_t) -> float64x2_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtn2))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtn2))]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vcvt_high_f16_f32(a: float16x4_t, b: float32x4_t) -> float16x8_t {
|
|
|
|
pub fn vcvt_high_f16_f32(a: float16x4_t, b: float32x4_t) -> float16x8_t {
|
|
|
|
vcombine_f16(a, vcvt_f16_f32(b))
|
|
|
|
vcombine_f16(a, vcvt_f16_f32(b))
|
|
|
|
@ -7293,7 +7293,7 @@ pub fn vcvt_high_f16_f32(a: float16x4_t, b: float32x4_t) -> float16x8_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtl2))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtl2))]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vcvt_high_f32_f16(a: float16x8_t) -> float32x4_t {
|
|
|
|
pub fn vcvt_high_f32_f16(a: float16x8_t) -> float32x4_t {
|
|
|
|
vcvt_f32_f16(vget_high_f16(a))
|
|
|
|
vcvt_f32_f16(vget_high_f16(a))
|
|
|
|
@ -7532,7 +7532,7 @@ pub fn vcvtq_u64_f64(a: float64x2_t) -> uint64x2_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtas))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtas))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vcvta_s16_f16(a: float16x4_t) -> int16x4_t {
|
|
|
|
pub fn vcvta_s16_f16(a: float16x4_t) -> int16x4_t {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
@ -7549,7 +7549,7 @@ pub fn vcvta_s16_f16(a: float16x4_t) -> int16x4_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtas))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtas))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vcvtaq_s16_f16(a: float16x8_t) -> int16x8_t {
|
|
|
|
pub fn vcvtaq_s16_f16(a: float16x8_t) -> int16x8_t {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
@ -7630,7 +7630,7 @@ pub fn vcvtaq_s64_f64(a: float64x2_t) -> int64x2_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtau))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtau))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vcvta_u16_f16(a: float16x4_t) -> uint16x4_t {
|
|
|
|
pub fn vcvta_u16_f16(a: float16x4_t) -> uint16x4_t {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
@ -7647,7 +7647,7 @@ pub fn vcvta_u16_f16(a: float16x4_t) -> uint16x4_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtau))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtau))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vcvtaq_u16_f16(a: float16x8_t) -> uint16x8_t {
|
|
|
|
pub fn vcvtaq_u16_f16(a: float16x8_t) -> uint16x8_t {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
@ -8218,7 +8218,7 @@ pub fn vcvth_u64_f16(a: f16) -> u64 {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtms))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtms))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vcvtm_s16_f16(a: float16x4_t) -> int16x4_t {
|
|
|
|
pub fn vcvtm_s16_f16(a: float16x4_t) -> int16x4_t {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
@ -8235,7 +8235,7 @@ pub fn vcvtm_s16_f16(a: float16x4_t) -> int16x4_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtms))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtms))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vcvtmq_s16_f16(a: float16x8_t) -> int16x8_t {
|
|
|
|
pub fn vcvtmq_s16_f16(a: float16x8_t) -> int16x8_t {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
@ -8316,7 +8316,7 @@ pub fn vcvtmq_s64_f64(a: float64x2_t) -> int64x2_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtmu))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtmu))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vcvtm_u16_f16(a: float16x4_t) -> uint16x4_t {
|
|
|
|
pub fn vcvtm_u16_f16(a: float16x4_t) -> uint16x4_t {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
@ -8333,7 +8333,7 @@ pub fn vcvtm_u16_f16(a: float16x4_t) -> uint16x4_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtmu))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtmu))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vcvtmq_u16_f16(a: float16x8_t) -> uint16x8_t {
|
|
|
|
pub fn vcvtmq_u16_f16(a: float16x8_t) -> uint16x8_t {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
@ -8566,7 +8566,7 @@ pub fn vcvtmd_u64_f64(a: f64) -> u64 {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtns))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtns))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vcvtn_s16_f16(a: float16x4_t) -> int16x4_t {
|
|
|
|
pub fn vcvtn_s16_f16(a: float16x4_t) -> int16x4_t {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
@ -8583,7 +8583,7 @@ pub fn vcvtn_s16_f16(a: float16x4_t) -> int16x4_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtns))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtns))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vcvtnq_s16_f16(a: float16x8_t) -> int16x8_t {
|
|
|
|
pub fn vcvtnq_s16_f16(a: float16x8_t) -> int16x8_t {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
@ -8664,7 +8664,7 @@ pub fn vcvtnq_s64_f64(a: float64x2_t) -> int64x2_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtnu))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtnu))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vcvtn_u16_f16(a: float16x4_t) -> uint16x4_t {
|
|
|
|
pub fn vcvtn_u16_f16(a: float16x4_t) -> uint16x4_t {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
@ -8681,7 +8681,7 @@ pub fn vcvtn_u16_f16(a: float16x4_t) -> uint16x4_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtnu))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtnu))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vcvtnq_u16_f16(a: float16x8_t) -> uint16x8_t {
|
|
|
|
pub fn vcvtnq_u16_f16(a: float16x8_t) -> uint16x8_t {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
@ -8914,7 +8914,7 @@ pub fn vcvtnd_u64_f64(a: f64) -> u64 {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtps))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtps))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vcvtp_s16_f16(a: float16x4_t) -> int16x4_t {
|
|
|
|
pub fn vcvtp_s16_f16(a: float16x4_t) -> int16x4_t {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
@ -8931,7 +8931,7 @@ pub fn vcvtp_s16_f16(a: float16x4_t) -> int16x4_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtps))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtps))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vcvtpq_s16_f16(a: float16x8_t) -> int16x8_t {
|
|
|
|
pub fn vcvtpq_s16_f16(a: float16x8_t) -> int16x8_t {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
@ -9012,7 +9012,7 @@ pub fn vcvtpq_s64_f64(a: float64x2_t) -> int64x2_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtpu))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtpu))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vcvtp_u16_f16(a: float16x4_t) -> uint16x4_t {
|
|
|
|
pub fn vcvtp_u16_f16(a: float16x4_t) -> uint16x4_t {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
@ -9029,7 +9029,7 @@ pub fn vcvtp_u16_f16(a: float16x4_t) -> uint16x4_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtpu))]
|
|
|
|
#[cfg_attr(test, assert_instr(fcvtpu))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vcvtpq_u16_f16(a: float16x8_t) -> uint16x8_t {
|
|
|
|
pub fn vcvtpq_u16_f16(a: float16x8_t) -> uint16x8_t {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
unsafe extern "unadjusted" {
|
|
|
|
@ -9493,7 +9493,7 @@ pub fn vcvtxd_f32_f64(a: f64) -> f32 {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vdiv_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vdiv_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fdiv))]
|
|
|
|
#[cfg_attr(test, assert_instr(fdiv))]
|
|
|
|
pub fn vdiv_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vdiv_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
@ -9503,7 +9503,7 @@ pub fn vdiv_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vdivq_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vdivq_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fdiv))]
|
|
|
|
#[cfg_attr(test, assert_instr(fdiv))]
|
|
|
|
pub fn vdivq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vdivq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
@ -10108,7 +10108,7 @@ pub fn vfma_f64(a: float64x1_t, b: float64x1_t, c: float64x1_t) -> float64x1_t {
|
|
|
|
#[cfg_attr(test, assert_instr(fmla, LANE = 0))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmla, LANE = 0))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfma_lane_f16<const LANE: i32>(
|
|
|
|
pub fn vfma_lane_f16<const LANE: i32>(
|
|
|
|
a: float16x4_t,
|
|
|
|
a: float16x4_t,
|
|
|
|
@ -10124,7 +10124,7 @@ pub fn vfma_lane_f16<const LANE: i32>(
|
|
|
|
#[cfg_attr(test, assert_instr(fmla, LANE = 0))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmla, LANE = 0))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfma_laneq_f16<const LANE: i32>(
|
|
|
|
pub fn vfma_laneq_f16<const LANE: i32>(
|
|
|
|
a: float16x4_t,
|
|
|
|
a: float16x4_t,
|
|
|
|
@ -10140,7 +10140,7 @@ pub fn vfma_laneq_f16<const LANE: i32>(
|
|
|
|
#[cfg_attr(test, assert_instr(fmla, LANE = 0))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmla, LANE = 0))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmaq_lane_f16<const LANE: i32>(
|
|
|
|
pub fn vfmaq_lane_f16<const LANE: i32>(
|
|
|
|
a: float16x8_t,
|
|
|
|
a: float16x8_t,
|
|
|
|
@ -10156,7 +10156,7 @@ pub fn vfmaq_lane_f16<const LANE: i32>(
|
|
|
|
#[cfg_attr(test, assert_instr(fmla, LANE = 0))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmla, LANE = 0))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmaq_laneq_f16<const LANE: i32>(
|
|
|
|
pub fn vfmaq_laneq_f16<const LANE: i32>(
|
|
|
|
a: float16x8_t,
|
|
|
|
a: float16x8_t,
|
|
|
|
@ -10434,7 +10434,7 @@ pub fn vfmad_laneq_f64<const LANE: i32>(a: f64, b: f64, c: float64x2_t) -> f64 {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmlal2))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmlal2))]
|
|
|
|
pub fn vfmlal_high_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32x2_t {
|
|
|
|
pub fn vfmlal_high_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32x2_t {
|
|
|
|
@ -10452,7 +10452,7 @@ pub fn vfmlal_high_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float3
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmlal2))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmlal2))]
|
|
|
|
pub fn vfmlalq_high_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float32x4_t {
|
|
|
|
pub fn vfmlalq_high_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float32x4_t {
|
|
|
|
@ -10472,7 +10472,7 @@ pub fn vfmlalq_high_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmlal_lane_high_f16<const LANE: i32>(
|
|
|
|
pub fn vfmlal_lane_high_f16<const LANE: i32>(
|
|
|
|
r: float32x2_t,
|
|
|
|
r: float32x2_t,
|
|
|
|
@ -10489,7 +10489,7 @@ pub fn vfmlal_lane_high_f16<const LANE: i32>(
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmlal_laneq_high_f16<const LANE: i32>(
|
|
|
|
pub fn vfmlal_laneq_high_f16<const LANE: i32>(
|
|
|
|
r: float32x2_t,
|
|
|
|
r: float32x2_t,
|
|
|
|
@ -10506,7 +10506,7 @@ pub fn vfmlal_laneq_high_f16<const LANE: i32>(
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmlalq_lane_high_f16<const LANE: i32>(
|
|
|
|
pub fn vfmlalq_lane_high_f16<const LANE: i32>(
|
|
|
|
r: float32x4_t,
|
|
|
|
r: float32x4_t,
|
|
|
|
@ -10523,7 +10523,7 @@ pub fn vfmlalq_lane_high_f16<const LANE: i32>(
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmlalq_laneq_high_f16<const LANE: i32>(
|
|
|
|
pub fn vfmlalq_laneq_high_f16<const LANE: i32>(
|
|
|
|
r: float32x4_t,
|
|
|
|
r: float32x4_t,
|
|
|
|
@ -10540,7 +10540,7 @@ pub fn vfmlalq_laneq_high_f16<const LANE: i32>(
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmlal_lane_low_f16<const LANE: i32>(
|
|
|
|
pub fn vfmlal_lane_low_f16<const LANE: i32>(
|
|
|
|
r: float32x2_t,
|
|
|
|
r: float32x2_t,
|
|
|
|
@ -10557,7 +10557,7 @@ pub fn vfmlal_lane_low_f16<const LANE: i32>(
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmlal_laneq_low_f16<const LANE: i32>(
|
|
|
|
pub fn vfmlal_laneq_low_f16<const LANE: i32>(
|
|
|
|
r: float32x2_t,
|
|
|
|
r: float32x2_t,
|
|
|
|
@ -10574,7 +10574,7 @@ pub fn vfmlal_laneq_low_f16<const LANE: i32>(
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmlalq_lane_low_f16<const LANE: i32>(
|
|
|
|
pub fn vfmlalq_lane_low_f16<const LANE: i32>(
|
|
|
|
r: float32x4_t,
|
|
|
|
r: float32x4_t,
|
|
|
|
@ -10591,7 +10591,7 @@ pub fn vfmlalq_lane_low_f16<const LANE: i32>(
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmlalq_laneq_low_f16<const LANE: i32>(
|
|
|
|
pub fn vfmlalq_laneq_low_f16<const LANE: i32>(
|
|
|
|
r: float32x4_t,
|
|
|
|
r: float32x4_t,
|
|
|
|
@ -10606,7 +10606,7 @@ pub fn vfmlalq_laneq_low_f16<const LANE: i32>(
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmlal))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmlal))]
|
|
|
|
pub fn vfmlal_low_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32x2_t {
|
|
|
|
pub fn vfmlal_low_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32x2_t {
|
|
|
|
@ -10624,7 +10624,7 @@ pub fn vfmlal_low_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmlal))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmlal))]
|
|
|
|
pub fn vfmlalq_low_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float32x4_t {
|
|
|
|
pub fn vfmlalq_low_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float32x4_t {
|
|
|
|
@ -10642,7 +10642,7 @@ pub fn vfmlalq_low_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float3
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmlsl2))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmlsl2))]
|
|
|
|
pub fn vfmlsl_high_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32x2_t {
|
|
|
|
pub fn vfmlsl_high_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32x2_t {
|
|
|
|
@ -10660,7 +10660,7 @@ pub fn vfmlsl_high_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float3
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmlsl2))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmlsl2))]
|
|
|
|
pub fn vfmlslq_high_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float32x4_t {
|
|
|
|
pub fn vfmlslq_high_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float32x4_t {
|
|
|
|
@ -10680,7 +10680,7 @@ pub fn vfmlslq_high_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmlsl_lane_high_f16<const LANE: i32>(
|
|
|
|
pub fn vfmlsl_lane_high_f16<const LANE: i32>(
|
|
|
|
r: float32x2_t,
|
|
|
|
r: float32x2_t,
|
|
|
|
@ -10697,7 +10697,7 @@ pub fn vfmlsl_lane_high_f16<const LANE: i32>(
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmlsl_laneq_high_f16<const LANE: i32>(
|
|
|
|
pub fn vfmlsl_laneq_high_f16<const LANE: i32>(
|
|
|
|
r: float32x2_t,
|
|
|
|
r: float32x2_t,
|
|
|
|
@ -10714,7 +10714,7 @@ pub fn vfmlsl_laneq_high_f16<const LANE: i32>(
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmlslq_lane_high_f16<const LANE: i32>(
|
|
|
|
pub fn vfmlslq_lane_high_f16<const LANE: i32>(
|
|
|
|
r: float32x4_t,
|
|
|
|
r: float32x4_t,
|
|
|
|
@ -10731,7 +10731,7 @@ pub fn vfmlslq_lane_high_f16<const LANE: i32>(
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmlslq_laneq_high_f16<const LANE: i32>(
|
|
|
|
pub fn vfmlslq_laneq_high_f16<const LANE: i32>(
|
|
|
|
r: float32x4_t,
|
|
|
|
r: float32x4_t,
|
|
|
|
@ -10748,7 +10748,7 @@ pub fn vfmlslq_laneq_high_f16<const LANE: i32>(
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmlsl_lane_low_f16<const LANE: i32>(
|
|
|
|
pub fn vfmlsl_lane_low_f16<const LANE: i32>(
|
|
|
|
r: float32x2_t,
|
|
|
|
r: float32x2_t,
|
|
|
|
@ -10765,7 +10765,7 @@ pub fn vfmlsl_lane_low_f16<const LANE: i32>(
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmlsl_laneq_low_f16<const LANE: i32>(
|
|
|
|
pub fn vfmlsl_laneq_low_f16<const LANE: i32>(
|
|
|
|
r: float32x2_t,
|
|
|
|
r: float32x2_t,
|
|
|
|
@ -10782,7 +10782,7 @@ pub fn vfmlsl_laneq_low_f16<const LANE: i32>(
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmlslq_lane_low_f16<const LANE: i32>(
|
|
|
|
pub fn vfmlslq_lane_low_f16<const LANE: i32>(
|
|
|
|
r: float32x4_t,
|
|
|
|
r: float32x4_t,
|
|
|
|
@ -10799,7 +10799,7 @@ pub fn vfmlslq_lane_low_f16<const LANE: i32>(
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmlslq_laneq_low_f16<const LANE: i32>(
|
|
|
|
pub fn vfmlslq_laneq_low_f16<const LANE: i32>(
|
|
|
|
r: float32x4_t,
|
|
|
|
r: float32x4_t,
|
|
|
|
@ -10814,7 +10814,7 @@ pub fn vfmlslq_laneq_low_f16<const LANE: i32>(
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmlsl))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmlsl))]
|
|
|
|
pub fn vfmlsl_low_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32x2_t {
|
|
|
|
pub fn vfmlsl_low_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32x2_t {
|
|
|
|
@ -10832,7 +10832,7 @@ pub fn vfmlsl_low_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmlsl))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmlsl))]
|
|
|
|
pub fn vfmlslq_low_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float32x4_t {
|
|
|
|
pub fn vfmlslq_low_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float32x4_t {
|
|
|
|
@ -10863,7 +10863,7 @@ pub fn vfms_f64(a: float64x1_t, b: float64x1_t, c: float64x1_t) -> float64x1_t {
|
|
|
|
#[cfg_attr(test, assert_instr(fmls, LANE = 0))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmls, LANE = 0))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfms_lane_f16<const LANE: i32>(
|
|
|
|
pub fn vfms_lane_f16<const LANE: i32>(
|
|
|
|
a: float16x4_t,
|
|
|
|
a: float16x4_t,
|
|
|
|
@ -10879,7 +10879,7 @@ pub fn vfms_lane_f16<const LANE: i32>(
|
|
|
|
#[cfg_attr(test, assert_instr(fmls, LANE = 0))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmls, LANE = 0))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfms_laneq_f16<const LANE: i32>(
|
|
|
|
pub fn vfms_laneq_f16<const LANE: i32>(
|
|
|
|
a: float16x4_t,
|
|
|
|
a: float16x4_t,
|
|
|
|
@ -10895,7 +10895,7 @@ pub fn vfms_laneq_f16<const LANE: i32>(
|
|
|
|
#[cfg_attr(test, assert_instr(fmls, LANE = 0))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmls, LANE = 0))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmsq_lane_f16<const LANE: i32>(
|
|
|
|
pub fn vfmsq_lane_f16<const LANE: i32>(
|
|
|
|
a: float16x8_t,
|
|
|
|
a: float16x8_t,
|
|
|
|
@ -10911,7 +10911,7 @@ pub fn vfmsq_lane_f16<const LANE: i32>(
|
|
|
|
#[cfg_attr(test, assert_instr(fmls, LANE = 0))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmls, LANE = 0))]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[rustc_legacy_const_generics(3)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vfmsq_laneq_f16<const LANE: i32>(
|
|
|
|
pub fn vfmsq_laneq_f16<const LANE: i32>(
|
|
|
|
a: float16x8_t,
|
|
|
|
a: float16x8_t,
|
|
|
|
@ -15085,7 +15085,7 @@ pub fn vmul_lane_f64<const LANE: i32>(a: float64x1_t, b: float64x1_t) -> float64
|
|
|
|
#[cfg_attr(test, assert_instr(fmul, LANE = 0))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmul, LANE = 0))]
|
|
|
|
#[rustc_legacy_const_generics(2)]
|
|
|
|
#[rustc_legacy_const_generics(2)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vmul_laneq_f16<const LANE: i32>(a: float16x4_t, b: float16x8_t) -> float16x4_t {
|
|
|
|
pub fn vmul_laneq_f16<const LANE: i32>(a: float16x4_t, b: float16x8_t) -> float16x4_t {
|
|
|
|
static_assert_uimm_bits!(LANE, 3);
|
|
|
|
static_assert_uimm_bits!(LANE, 3);
|
|
|
|
@ -15102,7 +15102,7 @@ pub fn vmul_laneq_f16<const LANE: i32>(a: float16x4_t, b: float16x8_t) -> float1
|
|
|
|
#[cfg_attr(test, assert_instr(fmul, LANE = 0))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmul, LANE = 0))]
|
|
|
|
#[rustc_legacy_const_generics(2)]
|
|
|
|
#[rustc_legacy_const_generics(2)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vmulq_laneq_f16<const LANE: i32>(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vmulq_laneq_f16<const LANE: i32>(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
static_assert_uimm_bits!(LANE, 3);
|
|
|
|
static_assert_uimm_bits!(LANE, 3);
|
|
|
|
@ -15609,7 +15609,7 @@ pub fn vmuld_laneq_f64<const LANE: i32>(a: f64, b: float64x2_t) -> f64 {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vmulx_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vmulx_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmulx))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmulx))]
|
|
|
|
pub fn vmulx_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vmulx_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
@ -15626,7 +15626,7 @@ pub fn vmulx_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vmulxq_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vmulxq_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmulx))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmulx))]
|
|
|
|
pub fn vmulxq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vmulxq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
@ -15709,7 +15709,7 @@ pub fn vmulxq_f64(a: float64x2_t, b: float64x2_t) -> float64x2_t {
|
|
|
|
#[cfg_attr(test, assert_instr(fmulx, LANE = 0))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmulx, LANE = 0))]
|
|
|
|
#[rustc_legacy_const_generics(2)]
|
|
|
|
#[rustc_legacy_const_generics(2)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vmulx_lane_f16<const LANE: i32>(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vmulx_lane_f16<const LANE: i32>(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
static_assert_uimm_bits!(LANE, 2);
|
|
|
|
static_assert_uimm_bits!(LANE, 2);
|
|
|
|
@ -15726,7 +15726,7 @@ pub fn vmulx_lane_f16<const LANE: i32>(a: float16x4_t, b: float16x4_t) -> float1
|
|
|
|
#[cfg_attr(test, assert_instr(fmulx, LANE = 0))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmulx, LANE = 0))]
|
|
|
|
#[rustc_legacy_const_generics(2)]
|
|
|
|
#[rustc_legacy_const_generics(2)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vmulx_laneq_f16<const LANE: i32>(a: float16x4_t, b: float16x8_t) -> float16x4_t {
|
|
|
|
pub fn vmulx_laneq_f16<const LANE: i32>(a: float16x4_t, b: float16x8_t) -> float16x4_t {
|
|
|
|
static_assert_uimm_bits!(LANE, 3);
|
|
|
|
static_assert_uimm_bits!(LANE, 3);
|
|
|
|
@ -15743,7 +15743,7 @@ pub fn vmulx_laneq_f16<const LANE: i32>(a: float16x4_t, b: float16x8_t) -> float
|
|
|
|
#[cfg_attr(test, assert_instr(fmulx, LANE = 0))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmulx, LANE = 0))]
|
|
|
|
#[rustc_legacy_const_generics(2)]
|
|
|
|
#[rustc_legacy_const_generics(2)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vmulxq_lane_f16<const LANE: i32>(a: float16x8_t, b: float16x4_t) -> float16x8_t {
|
|
|
|
pub fn vmulxq_lane_f16<const LANE: i32>(a: float16x8_t, b: float16x4_t) -> float16x8_t {
|
|
|
|
static_assert_uimm_bits!(LANE, 2);
|
|
|
|
static_assert_uimm_bits!(LANE, 2);
|
|
|
|
@ -15773,7 +15773,7 @@ pub fn vmulxq_lane_f16<const LANE: i32>(a: float16x8_t, b: float16x4_t) -> float
|
|
|
|
#[cfg_attr(test, assert_instr(fmulx, LANE = 0))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmulx, LANE = 0))]
|
|
|
|
#[rustc_legacy_const_generics(2)]
|
|
|
|
#[rustc_legacy_const_generics(2)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vmulxq_laneq_f16<const LANE: i32>(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vmulxq_laneq_f16<const LANE: i32>(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
static_assert_uimm_bits!(LANE, 3);
|
|
|
|
static_assert_uimm_bits!(LANE, 3);
|
|
|
|
@ -16135,7 +16135,7 @@ pub fn vpaddd_u64(a: uint64x2_t) -> u64 {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpaddq_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpaddq_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(faddp))]
|
|
|
|
#[cfg_attr(test, assert_instr(faddp))]
|
|
|
|
pub fn vpaddq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vpaddq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
@ -16354,7 +16354,7 @@ pub fn vpaddq_u64(a: uint64x2_t, b: uint64x2_t) -> uint64x2_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmax_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmax_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmaxp))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmaxp))]
|
|
|
|
pub fn vpmax_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vpmax_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
@ -16371,7 +16371,7 @@ pub fn vpmax_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmaxq_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmaxq_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmaxp))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmaxp))]
|
|
|
|
pub fn vpmaxq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vpmaxq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
@ -16388,7 +16388,7 @@ pub fn vpmaxq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmaxnm_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmaxnm_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmaxnmp))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmaxnmp))]
|
|
|
|
pub fn vpmaxnm_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vpmaxnm_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
@ -16405,7 +16405,7 @@ pub fn vpmaxnm_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmaxnmq_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmaxnmq_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmaxnmp))]
|
|
|
|
#[cfg_attr(test, assert_instr(fmaxnmp))]
|
|
|
|
pub fn vpmaxnmq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vpmaxnmq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
@ -16662,7 +16662,7 @@ pub fn vpmaxs_f32(a: float32x2_t) -> f32 {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmin_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmin_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fminp))]
|
|
|
|
#[cfg_attr(test, assert_instr(fminp))]
|
|
|
|
pub fn vpmin_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vpmin_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
@ -16679,7 +16679,7 @@ pub fn vpmin_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpminq_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpminq_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fminp))]
|
|
|
|
#[cfg_attr(test, assert_instr(fminp))]
|
|
|
|
pub fn vpminq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vpminq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
@ -16696,7 +16696,7 @@ pub fn vpminq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpminnm_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpminnm_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fminnmp))]
|
|
|
|
#[cfg_attr(test, assert_instr(fminnmp))]
|
|
|
|
pub fn vpminnm_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vpminnm_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
@ -16713,7 +16713,7 @@ pub fn vpminnm_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpminnmq_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpminnmq_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(fminnmp))]
|
|
|
|
#[cfg_attr(test, assert_instr(fminnmp))]
|
|
|
|
pub fn vpminnmq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vpminnmq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
@ -21839,7 +21839,7 @@ pub fn vrecpxh_f16(a: f16) -> f16 {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg(target_endian = "little")]
|
|
|
|
#[cfg(target_endian = "little")]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(nop))]
|
|
|
|
#[cfg_attr(test, assert_instr(nop))]
|
|
|
|
pub fn vreinterpret_f64_f16(a: float16x4_t) -> float64x1_t {
|
|
|
|
pub fn vreinterpret_f64_f16(a: float16x4_t) -> float64x1_t {
|
|
|
|
@ -21850,7 +21850,7 @@ pub fn vreinterpret_f64_f16(a: float16x4_t) -> float64x1_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg(target_endian = "big")]
|
|
|
|
#[cfg(target_endian = "big")]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(nop))]
|
|
|
|
#[cfg_attr(test, assert_instr(nop))]
|
|
|
|
pub fn vreinterpret_f64_f16(a: float16x4_t) -> float64x1_t {
|
|
|
|
pub fn vreinterpret_f64_f16(a: float16x4_t) -> float64x1_t {
|
|
|
|
@ -21862,7 +21862,7 @@ pub fn vreinterpret_f64_f16(a: float16x4_t) -> float64x1_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg(target_endian = "little")]
|
|
|
|
#[cfg(target_endian = "little")]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(nop))]
|
|
|
|
#[cfg_attr(test, assert_instr(nop))]
|
|
|
|
pub fn vreinterpretq_f64_f16(a: float16x8_t) -> float64x2_t {
|
|
|
|
pub fn vreinterpretq_f64_f16(a: float16x8_t) -> float64x2_t {
|
|
|
|
@ -21873,7 +21873,7 @@ pub fn vreinterpretq_f64_f16(a: float16x8_t) -> float64x2_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg(target_endian = "big")]
|
|
|
|
#[cfg(target_endian = "big")]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(nop))]
|
|
|
|
#[cfg_attr(test, assert_instr(nop))]
|
|
|
|
pub fn vreinterpretq_f64_f16(a: float16x8_t) -> float64x2_t {
|
|
|
|
pub fn vreinterpretq_f64_f16(a: float16x8_t) -> float64x2_t {
|
|
|
|
@ -21888,7 +21888,7 @@ pub fn vreinterpretq_f64_f16(a: float16x8_t) -> float64x2_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg(target_endian = "little")]
|
|
|
|
#[cfg(target_endian = "little")]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(nop))]
|
|
|
|
#[cfg_attr(test, assert_instr(nop))]
|
|
|
|
pub fn vreinterpret_f16_f64(a: float64x1_t) -> float16x4_t {
|
|
|
|
pub fn vreinterpret_f16_f64(a: float64x1_t) -> float16x4_t {
|
|
|
|
@ -21899,7 +21899,7 @@ pub fn vreinterpret_f16_f64(a: float64x1_t) -> float16x4_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg(target_endian = "big")]
|
|
|
|
#[cfg(target_endian = "big")]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(nop))]
|
|
|
|
#[cfg_attr(test, assert_instr(nop))]
|
|
|
|
pub fn vreinterpret_f16_f64(a: float64x1_t) -> float16x4_t {
|
|
|
|
pub fn vreinterpret_f16_f64(a: float64x1_t) -> float16x4_t {
|
|
|
|
@ -21913,7 +21913,7 @@ pub fn vreinterpret_f16_f64(a: float64x1_t) -> float16x4_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg(target_endian = "little")]
|
|
|
|
#[cfg(target_endian = "little")]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(nop))]
|
|
|
|
#[cfg_attr(test, assert_instr(nop))]
|
|
|
|
pub fn vreinterpretq_f16_f64(a: float64x2_t) -> float16x8_t {
|
|
|
|
pub fn vreinterpretq_f16_f64(a: float64x2_t) -> float16x8_t {
|
|
|
|
@ -21924,7 +21924,7 @@ pub fn vreinterpretq_f16_f64(a: float64x2_t) -> float16x8_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg(target_endian = "big")]
|
|
|
|
#[cfg(target_endian = "big")]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[target_feature(enable = "neon")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(nop))]
|
|
|
|
#[cfg_attr(test, assert_instr(nop))]
|
|
|
|
pub fn vreinterpretq_f16_f64(a: float64x2_t) -> float16x8_t {
|
|
|
|
pub fn vreinterpretq_f16_f64(a: float64x2_t) -> float16x8_t {
|
|
|
|
@ -23503,7 +23503,7 @@ pub fn vrnd64z_f64(a: float64x1_t) -> float64x1_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrnd_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrnd_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(frintz))]
|
|
|
|
#[cfg_attr(test, assert_instr(frintz))]
|
|
|
|
pub fn vrnd_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vrnd_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
@ -23513,7 +23513,7 @@ pub fn vrnd_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndq_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndq_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(frintz))]
|
|
|
|
#[cfg_attr(test, assert_instr(frintz))]
|
|
|
|
pub fn vrndq_f16(a: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vrndq_f16(a: float16x8_t) -> float16x8_t {
|
|
|
|
@ -23559,7 +23559,7 @@ pub fn vrndq_f64(a: float64x2_t) -> float64x2_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrnda_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrnda_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(frinta))]
|
|
|
|
#[cfg_attr(test, assert_instr(frinta))]
|
|
|
|
pub fn vrnda_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vrnda_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
@ -23569,7 +23569,7 @@ pub fn vrnda_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndaq_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndaq_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(frinta))]
|
|
|
|
#[cfg_attr(test, assert_instr(frinta))]
|
|
|
|
pub fn vrndaq_f16(a: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vrndaq_f16(a: float16x8_t) -> float16x8_t {
|
|
|
|
@ -23635,7 +23635,7 @@ pub fn vrndh_f16(a: f16) -> f16 {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndi_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndi_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(frinti))]
|
|
|
|
#[cfg_attr(test, assert_instr(frinti))]
|
|
|
|
pub fn vrndi_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vrndi_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
@ -23652,7 +23652,7 @@ pub fn vrndi_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndiq_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndiq_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(frinti))]
|
|
|
|
#[cfg_attr(test, assert_instr(frinti))]
|
|
|
|
pub fn vrndiq_f16(a: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vrndiq_f16(a: float16x8_t) -> float16x8_t {
|
|
|
|
@ -23750,7 +23750,7 @@ pub fn vrndih_f16(a: f16) -> f16 {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndm_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndm_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(frintm))]
|
|
|
|
#[cfg_attr(test, assert_instr(frintm))]
|
|
|
|
pub fn vrndm_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vrndm_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
@ -23760,7 +23760,7 @@ pub fn vrndm_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndmq_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndmq_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(frintm))]
|
|
|
|
#[cfg_attr(test, assert_instr(frintm))]
|
|
|
|
pub fn vrndmq_f16(a: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vrndmq_f16(a: float16x8_t) -> float16x8_t {
|
|
|
|
@ -23881,7 +23881,7 @@ pub fn vrndns_f32(a: f32) -> f32 {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndp_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndp_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(frintp))]
|
|
|
|
#[cfg_attr(test, assert_instr(frintp))]
|
|
|
|
pub fn vrndp_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vrndp_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
@ -23891,7 +23891,7 @@ pub fn vrndp_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndpq_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndpq_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(frintp))]
|
|
|
|
#[cfg_attr(test, assert_instr(frintp))]
|
|
|
|
pub fn vrndpq_f16(a: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vrndpq_f16(a: float16x8_t) -> float16x8_t {
|
|
|
|
@ -23947,7 +23947,7 @@ pub fn vrndph_f16(a: f16) -> f16 {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndx_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndx_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(frintx))]
|
|
|
|
#[cfg_attr(test, assert_instr(frintx))]
|
|
|
|
pub fn vrndx_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vrndx_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
@ -23957,7 +23957,7 @@ pub fn vrndx_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndxq_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndxq_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(test, assert_instr(frintx))]
|
|
|
|
#[cfg_attr(test, assert_instr(frintx))]
|
|
|
|
pub fn vrndxq_f16(a: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vrndxq_f16(a: float16x8_t) -> float16x8_t {
|
|
|
|
@ -25460,7 +25460,7 @@ pub fn vsqadds_u32(a: u32, b: i32) -> u32 {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fsqrt))]
|
|
|
|
#[cfg_attr(test, assert_instr(fsqrt))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vsqrt_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vsqrt_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
unsafe { simd_fsqrt(a) }
|
|
|
|
unsafe { simd_fsqrt(a) }
|
|
|
|
@ -25470,7 +25470,7 @@ pub fn vsqrt_f16(a: float16x4_t) -> float16x4_t {
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[cfg_attr(test, assert_instr(fsqrt))]
|
|
|
|
#[cfg_attr(test, assert_instr(fsqrt))]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
pub fn vsqrtq_f16(a: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vsqrtq_f16(a: float16x8_t) -> float16x8_t {
|
|
|
|
unsafe { simd_fsqrt(a) }
|
|
|
|
unsafe { simd_fsqrt(a) }
|
|
|
|
@ -28031,7 +28031,7 @@ pub fn vtbx4_p8(a: poly8x8_t, b: poly8x8x4_t, c: uint8x8_t) -> poly8x8_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vtrn1_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vtrn1_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(trn1))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(trn1))]
|
|
|
|
pub fn vtrn1_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vtrn1_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
@ -28041,7 +28041,7 @@ pub fn vtrn1_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vtrn1q_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vtrn1q_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(trn1))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(trn1))]
|
|
|
|
pub fn vtrn1q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vtrn1q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
@ -28267,7 +28267,7 @@ pub fn vtrn1q_p16(a: poly16x8_t, b: poly16x8_t) -> poly16x8_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vtrn2_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vtrn2_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(trn2))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(trn2))]
|
|
|
|
pub fn vtrn2_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vtrn2_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
@ -28277,7 +28277,7 @@ pub fn vtrn2_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vtrn2q_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vtrn2q_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(trn2))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(trn2))]
|
|
|
|
pub fn vtrn2q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vtrn2q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
@ -28777,7 +28777,7 @@ pub fn vuqadds_s32(a: i32, b: u32) -> i32 {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vuzp1_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vuzp1_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(uzp1))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(uzp1))]
|
|
|
|
pub fn vuzp1_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vuzp1_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
@ -28787,7 +28787,7 @@ pub fn vuzp1_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vuzp1q_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vuzp1q_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(uzp1))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(uzp1))]
|
|
|
|
pub fn vuzp1q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vuzp1q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
@ -29013,7 +29013,7 @@ pub fn vuzp1q_p16(a: poly16x8_t, b: poly16x8_t) -> poly16x8_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vuzp2_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vuzp2_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(uzp2))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(uzp2))]
|
|
|
|
pub fn vuzp2_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vuzp2_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
@ -29023,7 +29023,7 @@ pub fn vuzp2_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vuzp2q_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vuzp2q_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(uzp2))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(uzp2))]
|
|
|
|
pub fn vuzp2q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vuzp2q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
@ -29267,7 +29267,7 @@ pub fn vxarq_u64<const IMM6: i32>(a: uint64x2_t, b: uint64x2_t) -> uint64x2_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vzip1_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vzip1_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(zip1))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(zip1))]
|
|
|
|
pub fn vzip1_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vzip1_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
@ -29277,7 +29277,7 @@ pub fn vzip1_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vzip1q_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vzip1q_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(zip1))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(zip1))]
|
|
|
|
pub fn vzip1q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vzip1q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
@ -29503,7 +29503,7 @@ pub fn vzip1q_p64(a: poly64x2_t, b: poly64x2_t) -> poly64x2_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vzip2_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vzip2_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(zip2))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(zip2))]
|
|
|
|
pub fn vzip2_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
pub fn vzip2_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
@ -29513,7 +29513,7 @@ pub fn vzip2_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vzip2q_f16)"]
|
|
|
|
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vzip2q_f16)"]
|
|
|
|
#[inline(always)]
|
|
|
|
#[inline(always)]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[target_feature(enable = "neon,fp16")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")]
|
|
|
|
#[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg(not(target_arch = "arm64ec"))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(zip2))]
|
|
|
|
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(zip2))]
|
|
|
|
pub fn vzip2q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
pub fn vzip2q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
|
|
|
|
|