🔬This is a nightly-only experimental API. (
stdsimd #48556)Available on AArch64 only.
Expand description
ARMv8 ASIMD intrinsics
Re-exports
pub use self::generated::*;Experimental
Modules
Structs
- ARM-specific 64-bit wide vector of one packed
f64. - ARM-specific type containing two
float64x1_tvectors. - ARM-specific type containing three
float64x1_tvectors. - ARM-specific type containing four
float64x1_tvectors. - ARM-specific 128-bit wide vector of two packed
f64. - ARM-specific type containing two
float64x2_tvectors. - ARM-specific type containing three
float64x2_tvectors. - ARM-specific type containing four
float64x2_tvectors.
Functions
- SM3TT1A
- SM3TT1B
- SM3TT2A
- SM3TT2B
- Exclusive OR and rotate
- vabs_s64⚠
neonAbsolute Value (wrapping). - vabsd_s64⚠
neonAbsolute Value (wrapping). - vabsq_s64⚠
neonAbsolute Value (wrapping). - vadd_f64⚠
neonVector add. - vadd_s64⚠
neonVector add. - vadd_u64⚠
neonVector add. - vaddd_s64⚠
neonVector add. - vaddd_u64⚠
neonVector add. - vaddlv_s8⚠
neonSigned Add Long across Vector - vaddlv_u8⚠
neonUnsigned Add Long across Vector - vaddlvq_s8⚠
neonSigned Add Long across Vector - vaddlvq_u8⚠
neonUnsigned Add Long across Vector - vaddq_f64⚠
neonVector add. - vaddv_s8⚠
neonAdd across vector - vaddv_s16⚠
neonAdd across vector - vaddv_s32⚠
neonAdd across vector - vaddv_u8⚠
neonAdd across vector - vaddv_u16⚠
neonAdd across vector - vaddv_u32⚠
neonAdd across vector - vaddvq_s8⚠
neonAdd across vector - vaddvq_s16⚠
neonAdd across vector - vaddvq_s32⚠
neonAdd across vector - vaddvq_s64⚠
neonAdd across vector - vaddvq_u8⚠
neonAdd across vector - vaddvq_u16⚠
neonAdd across vector - vaddvq_u32⚠
neonAdd across vector - vaddvq_u64⚠
neonAdd across vector - vbsl_f64⚠
neonBitwise Select instructions. This instruction sets each bit in the destination SIMD&FP register to the corresponding bit from the first source SIMD&FP register when the original destination bit was 1, otherwise from the second source SIMD&FP register. - vbsl_p64⚠
neonBitwise Select. - vbslq_f64⚠
neonBitwise Select. (128-bit) - vbslq_p64⚠
neonBitwise Select. (128-bit) - vcombine_f64⚠
neonVector combine - vcopy_lane_f64⚠
neonDuplicate vector element to vector or scalar - vcopy_lane_p64⚠
neonDuplicate vector element to vector or scalar - vcopy_lane_s64⚠
neonDuplicate vector element to vector or scalar - vcopy_lane_u64⚠
neonDuplicate vector element to vector or scalar - vcopy_laneq_f64⚠
neonDuplicate vector element to vector or scalar - vcopy_laneq_p64⚠
neonDuplicate vector element to vector or scalar - vcopy_laneq_s64⚠
neonDuplicate vector element to vector or scalar - vcopy_laneq_u64⚠
neonDuplicate vector element to vector or scalar - vdup_n_f64⚠
neonDuplicate vector element to vector or scalar - vdup_n_p64⚠
neonDuplicate vector element to vector or scalar - vdupq_n_f64⚠
neonDuplicate vector element to vector or scalar - vdupq_n_p64⚠
neonDuplicate vector element to vector or scalar - vext_f64⚠
neonExtract vector from pair of vectors - vext_p64⚠
neonExtract vector from pair of vectors - vget_high_f64⚠
neonDuplicate vector element to vector or scalar - vget_high_p64⚠
neonDuplicate vector element to vector or scalar - vget_lane_f64⚠
neonDuplicate vector element to vector or scalar - vget_low_f64⚠
neonDuplicate vector element to vector or scalar - vget_low_p64⚠
neonDuplicate vector element to vector or scalar - vgetq_lane_f64⚠
neonDuplicate vector element to vector or scalar - vld1_dup_f64⚠
neonLoad multiple single-element structures to one, two, three, or four registers - vld1_f32⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1_f64⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1_lane_f64⚠
neonLoad one single-element structure to one lane of one register. - vld1_p8⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1_p16⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1_p64⚠
neon,aesLoad multiple single-element structures to one, two, three, or four registers. - vld1_s8⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1_s16⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1_s32⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1_s64⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1_u8⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1_u16⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1_u32⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1_u64⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1q_dup_f64⚠
neonLoad multiple single-element structures to one, two, three, or four registers - vld1q_f32⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1q_f64⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1q_lane_f64⚠
neonLoad one single-element structure to one lane of one register. - vld1q_p8⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1q_p16⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1q_p64⚠
neon,aesLoad multiple single-element structures to one, two, three, or four registers. - vld1q_s8⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1q_s16⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1q_s32⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1q_s64⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1q_u8⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1q_u16⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1q_u32⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vld1q_u64⚠
neonLoad multiple single-element structures to one, two, three, or four registers. - vmaxv_f32⚠
neonHorizontal vector max. - vmaxv_s8⚠
neonHorizontal vector max. - vmaxv_s16⚠
neonHorizontal vector max. - vmaxv_s32⚠
neonHorizontal vector max. - vmaxv_u8⚠
neonHorizontal vector max. - vmaxv_u16⚠
neonHorizontal vector max. - vmaxv_u32⚠
neonHorizontal vector max. - vmaxvq_f32⚠
neonHorizontal vector max. - vmaxvq_f64⚠
neonHorizontal vector max. - vmaxvq_s8⚠
neonHorizontal vector max. - vmaxvq_s16⚠
neonHorizontal vector max. - vmaxvq_s32⚠
neonHorizontal vector max. - vmaxvq_u8⚠
neonHorizontal vector max. - vmaxvq_u16⚠
neonHorizontal vector max. - vmaxvq_u32⚠
neonHorizontal vector max. - vminv_f32⚠
neonHorizontal vector min. - vminv_s8⚠
neonHorizontal vector min. - vminv_s16⚠
neonHorizontal vector min. - vminv_s32⚠
neonHorizontal vector min. - vminv_u8⚠
neonHorizontal vector min. - vminv_u16⚠
neonHorizontal vector min. - vminv_u32⚠
neonHorizontal vector min. - vminvq_f32⚠
neonHorizontal vector min. - vminvq_f64⚠
neonHorizontal vector min. - vminvq_s8⚠
neonHorizontal vector min. - vminvq_s16⚠
neonHorizontal vector min. - vminvq_s32⚠
neonHorizontal vector min. - vminvq_u8⚠
neonHorizontal vector min. - vminvq_u16⚠
neonHorizontal vector min. - vminvq_u32⚠
neonHorizontal vector min. - vmov_n_f64⚠
neonDuplicate vector element to vector or scalar - vmov_n_p64⚠
neonDuplicate vector element to vector or scalar - vmovq_n_f64⚠
neonDuplicate vector element to vector or scalar - vmovq_n_p64⚠
neonDuplicate vector element to vector or scalar - vpaddd_s64⚠
neonAdd pairwise - vpaddd_u64⚠
neonAdd pairwise - vpaddq_s8⚠
neonAdd pairwise - vpaddq_s16⚠
neonAdd pairwise - vpaddq_s32⚠
neonAdd pairwise - vpaddq_s64⚠
neonAdd pairwise - vpaddq_u8⚠
neonAdd pairwise - vpaddq_u16⚠
neonAdd pairwise - vpaddq_u32⚠
neonAdd pairwise - vpaddq_u64⚠
neonAdd pairwise - vpmaxq_f32⚠
neonFolding maximum of adjacent pairs - vpmaxq_f64⚠
neonFolding maximum of adjacent pairs - vpmaxq_s8⚠
neonFolding maximum of adjacent pairs - vpmaxq_s16⚠
neonFolding maximum of adjacent pairs - vpmaxq_s32⚠
neonFolding maximum of adjacent pairs - vpmaxq_u8⚠
neonFolding maximum of adjacent pairs - vpmaxq_u16⚠
neonFolding maximum of adjacent pairs - vpmaxq_u32⚠
neonFolding maximum of adjacent pairs - vpminq_f32⚠
neonFolding minimum of adjacent pairs - vpminq_f64⚠
neonFolding minimum of adjacent pairs - vpminq_s8⚠
neonFolding minimum of adjacent pairs - vpminq_s16⚠
neonFolding minimum of adjacent pairs - vpminq_s32⚠
neonFolding minimum of adjacent pairs - vpminq_u8⚠
neonFolding minimum of adjacent pairs - vpminq_u16⚠
neonFolding minimum of adjacent pairs - vpminq_u32⚠
neonFolding minimum of adjacent pairs - vqtbl1_p8⚠
neonTable look-up - vqtbl1_s8⚠
neonTable look-up - vqtbl1_u8⚠
neonTable look-up - vqtbl1q_p8⚠
neonTable look-up - vqtbl1q_s8⚠
neonTable look-up - vqtbl1q_u8⚠
neonTable look-up - vqtbl2_p8⚠
neonTable look-up - vqtbl2_s8⚠
neonTable look-up - vqtbl2_u8⚠
neonTable look-up - vqtbl2q_p8⚠
neonTable look-up - vqtbl2q_s8⚠
neonTable look-up - vqtbl2q_u8⚠
neonTable look-up - vqtbl3_p8⚠
neonTable look-up - vqtbl3_s8⚠
neonTable look-up - vqtbl3_u8⚠
neonTable look-up - vqtbl3q_p8⚠
neonTable look-up - vqtbl3q_s8⚠
neonTable look-up - vqtbl3q_u8⚠
neonTable look-up - vqtbl4_p8⚠
neonTable look-up - vqtbl4_s8⚠
neonTable look-up - vqtbl4_u8⚠
neonTable look-up - vqtbl4q_p8⚠
neonTable look-up - vqtbl4q_s8⚠
neonTable look-up - vqtbl4q_u8⚠
neonTable look-up - vqtbx1_p8⚠
neonExtended table look-up - vqtbx1_s8⚠
neonExtended table look-up - vqtbx1_u8⚠
neonExtended table look-up - vqtbx1q_p8⚠
neonExtended table look-up - vqtbx1q_s8⚠
neonExtended table look-up - vqtbx1q_u8⚠
neonExtended table look-up - vqtbx2_p8⚠
neonExtended table look-up - vqtbx2_s8⚠
neonExtended table look-up - vqtbx2_u8⚠
neonExtended table look-up - vqtbx2q_p8⚠
neonExtended table look-up - vqtbx2q_s8⚠
neonExtended table look-up - vqtbx2q_u8⚠
neonExtended table look-up - vqtbx3_p8⚠
neonExtended table look-up - vqtbx3_s8⚠
neonExtended table look-up - vqtbx3_u8⚠
neonExtended table look-up - vqtbx3q_p8⚠
neonExtended table look-up - vqtbx3q_s8⚠
neonExtended table look-up - vqtbx3q_u8⚠
neonExtended table look-up - vqtbx4_p8⚠
neonExtended table look-up - vqtbx4_s8⚠
neonExtended table look-up - vqtbx4_u8⚠
neonExtended table look-up - vqtbx4q_p8⚠
neonExtended table look-up - vqtbx4q_s8⚠
neonExtended table look-up - vqtbx4q_u8⚠
neonExtended table look-up - vshld_n_s64⚠
neonShift left - vshld_n_u64⚠
neonShift left - vshrd_n_s64⚠
neonSigned shift right - vshrd_n_u64⚠
neonUnsigned shift right - vsli_n_p8⚠
neonShift Left and Insert (immediate) - vsli_n_p16⚠
neonShift Left and Insert (immediate) - vsli_n_p64⚠
neon,aesShift Left and Insert (immediate) - vsli_n_s8⚠
neonShift Left and Insert (immediate) - vsli_n_s16⚠
neonShift Left and Insert (immediate) - vsli_n_s32⚠
neonShift Left and Insert (immediate) - vsli_n_s64⚠
neonShift Left and Insert (immediate) - vsli_n_u8⚠
neonShift Left and Insert (immediate) - vsli_n_u16⚠
neonShift Left and Insert (immediate) - vsli_n_u32⚠
neonShift Left and Insert (immediate) - vsli_n_u64⚠
neonShift Left and Insert (immediate) - vsliq_n_p8⚠
neonShift Left and Insert (immediate) - vsliq_n_p16⚠
neonShift Left and Insert (immediate) - vsliq_n_p64⚠
neon,aesShift Left and Insert (immediate) - vsliq_n_s8⚠
neonShift Left and Insert (immediate) - vsliq_n_s16⚠
neonShift Left and Insert (immediate) - vsliq_n_s32⚠
neonShift Left and Insert (immediate) - vsliq_n_s64⚠
neonShift Left and Insert (immediate) - vsliq_n_u8⚠
neonShift Left and Insert (immediate) - vsliq_n_u16⚠
neonShift Left and Insert (immediate) - vsliq_n_u32⚠
neonShift Left and Insert (immediate) - vsliq_n_u64⚠
neonShift Left and Insert (immediate) - vsqadd_u8⚠
neonUnsigned saturating Accumulate of Signed value. - vsqadd_u16⚠
neonUnsigned saturating Accumulate of Signed value. - vsqadd_u32⚠
neonUnsigned saturating Accumulate of Signed value. - vsqadd_u64⚠
neonUnsigned saturating Accumulate of Signed value. - vsqaddq_u8⚠
neonUnsigned saturating Accumulate of Signed value. - vsqaddq_u16⚠
neonUnsigned saturating Accumulate of Signed value. - vsqaddq_u32⚠
neonUnsigned saturating Accumulate of Signed value. - vsqaddq_u64⚠
neonUnsigned saturating Accumulate of Signed value. - vsrad_n_s64⚠
neonSigned shift right and accumulate - vsrad_n_u64⚠
neonUnsigned shift right and accumulate - vsri_n_p8⚠
neonShift Right and Insert (immediate) - vsri_n_p16⚠
neonShift Right and Insert (immediate) - vsri_n_p64⚠
neon,aesShift Right and Insert (immediate) - vsri_n_s8⚠
neonShift Right and Insert (immediate) - vsri_n_s16⚠
neonShift Right and Insert (immediate) - vsri_n_s32⚠
neonShift Right and Insert (immediate) - vsri_n_s64⚠
neonShift Right and Insert (immediate) - vsri_n_u8⚠
neonShift Right and Insert (immediate) - vsri_n_u16⚠
neonShift Right and Insert (immediate) - vsri_n_u32⚠
neonShift Right and Insert (immediate) - vsri_n_u64⚠
neonShift Right and Insert (immediate) - vsriq_n_p8⚠
neonShift Right and Insert (immediate) - vsriq_n_p16⚠
neonShift Right and Insert (immediate) - vsriq_n_p64⚠
neon,aesShift Right and Insert (immediate) - vsriq_n_s8⚠
neonShift Right and Insert (immediate) - vsriq_n_s16⚠
neonShift Right and Insert (immediate) - vsriq_n_s32⚠
neonShift Right and Insert (immediate) - vsriq_n_s64⚠
neonShift Right and Insert (immediate) - vsriq_n_u8⚠
neonShift Right and Insert (immediate) - vsriq_n_u16⚠
neonShift Right and Insert (immediate) - vsriq_n_u32⚠
neonShift Right and Insert (immediate) - vsriq_n_u64⚠
neonShift Right and Insert (immediate) - vst1_f32⚠
neon - vst1_f64⚠
neon - vst1_p8⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vst1_p16⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vst1_p64⚠
neon,aes - vst1_s8⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vst1_s16⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vst1_s32⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vst1_s64⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vst1_u8⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vst1_u16⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vst1_u32⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vst1_u64⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vst1q_f32⚠
neon - vst1q_f64⚠
neon - vst1q_p8⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vst1q_p16⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vst1q_p64⚠
neon,aes - vst1q_s8⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vst1q_s16⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vst1q_s32⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vst1q_s64⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vst1q_u8⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vst1q_u16⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vst1q_u32⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vst1q_u64⚠
neonStore multiple single-element structures from one, two, three, or four registers. - vtbl1_p8⚠
neonTable look-up - vtbl1_s8⚠
neonTable look-up - vtbl1_u8⚠
neonTable look-up - vtbl2_p8⚠
neonTable look-up - vtbl2_s8⚠
neonTable look-up - vtbl2_u8⚠
neonTable look-up - vtbl3_p8⚠
neonTable look-up - vtbl3_s8⚠
neonTable look-up - vtbl3_u8⚠
neonTable look-up - vtbl4_p8⚠
neonTable look-up - vtbl4_s8⚠
neonTable look-up - vtbl4_u8⚠
neonTable look-up - vtbx1_p8⚠
neonExtended table look-up - vtbx1_s8⚠
neonExtended table look-up - vtbx1_u8⚠
neonExtended table look-up - vtbx2_p8⚠
neonExtended table look-up - vtbx2_s8⚠
neonExtended table look-up - vtbx2_u8⚠
neonExtended table look-up - vtbx3_p8⚠
neonExtended table look-up - vtbx3_s8⚠
neonExtended table look-up - vtbx3_u8⚠
neonExtended table look-up - vtbx4_p8⚠
neonExtended table look-up - vtbx4_s8⚠
neonExtended table look-up - vtbx4_u8⚠
neonExtended table look-up - vuqadd_s8⚠
neonSigned saturating Accumulate of Unsigned value. - vuqadd_s16⚠
neonSigned saturating Accumulate of Unsigned value. - vuqadd_s32⚠
neonSigned saturating Accumulate of Unsigned value. - vuqadd_s64⚠
neonSigned saturating Accumulate of Unsigned value. - vuqaddq_s8⚠
neonSigned saturating Accumulate of Unsigned value. - vuqaddq_s16⚠
neonSigned saturating Accumulate of Unsigned value. - vuqaddq_s32⚠
neonSigned saturating Accumulate of Unsigned value. - vuqaddq_s64⚠
neonSigned saturating Accumulate of Unsigned value.