@@ -67158,14 +67158,7 @@ pub unsafe fn vst3q_s32(a: *mut i32, b: int32x4x3_t) {
6715867158#[stable(feature = "neon_intrinsics", since = "1.59.0")]
6715967159#[cfg_attr(test, assert_instr(st3))]
6716067160pub unsafe fn vst3_f32(a: *mut f32, b: float32x2x3_t) {
67161- unsafe extern "unadjusted" {
67162- #[cfg_attr(
67163- any(target_arch = "aarch64", target_arch = "arm64ec"),
67164- link_name = "llvm.aarch64.neon.st3.v2f32.p0"
67165- )]
67166- fn _vst3_f32(a: float32x2_t, b: float32x2_t, c: float32x2_t, ptr: *mut i8);
67167- }
67168- _vst3_f32(b.0, b.1, b.2, a as _)
67161+ crate::core_arch::macros::interleaving_store!(f32, 2, 3, a, b)
6716967162}
6717067163#[doc = "Store multiple 3-element structures from three registers"]
6717167164#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vst3q_f32)"]
@@ -67177,14 +67170,7 @@ pub unsafe fn vst3_f32(a: *mut f32, b: float32x2x3_t) {
6717767170#[stable(feature = "neon_intrinsics", since = "1.59.0")]
6717867171#[cfg_attr(test, assert_instr(st3))]
6717967172pub unsafe fn vst3q_f32(a: *mut f32, b: float32x4x3_t) {
67180- unsafe extern "unadjusted" {
67181- #[cfg_attr(
67182- any(target_arch = "aarch64", target_arch = "arm64ec"),
67183- link_name = "llvm.aarch64.neon.st3.v4f32.p0"
67184- )]
67185- fn _vst3q_f32(a: float32x4_t, b: float32x4_t, c: float32x4_t, ptr: *mut i8);
67186- }
67187- _vst3q_f32(b.0, b.1, b.2, a as _)
67173+ crate::core_arch::macros::interleaving_store!(f32, 4, 3, a, b)
6718867174}
6718967175#[doc = "Store multiple 3-element structures from three registers"]
6719067176#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vst3_s8)"]
@@ -67196,14 +67182,7 @@ pub unsafe fn vst3q_f32(a: *mut f32, b: float32x4x3_t) {
6719667182#[stable(feature = "neon_intrinsics", since = "1.59.0")]
6719767183#[cfg_attr(test, assert_instr(st3))]
6719867184pub unsafe fn vst3_s8(a: *mut i8, b: int8x8x3_t) {
67199- unsafe extern "unadjusted" {
67200- #[cfg_attr(
67201- any(target_arch = "aarch64", target_arch = "arm64ec"),
67202- link_name = "llvm.aarch64.neon.st3.v8i8.p0"
67203- )]
67204- fn _vst3_s8(a: int8x8_t, b: int8x8_t, c: int8x8_t, ptr: *mut i8);
67205- }
67206- _vst3_s8(b.0, b.1, b.2, a as _)
67185+ crate::core_arch::macros::interleaving_store!(i8, 8, 3, a, b)
6720767186}
6720867187#[doc = "Store multiple 3-element structures from three registers"]
6720967188#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vst3q_s8)"]
@@ -67215,14 +67194,7 @@ pub unsafe fn vst3_s8(a: *mut i8, b: int8x8x3_t) {
6721567194#[stable(feature = "neon_intrinsics", since = "1.59.0")]
6721667195#[cfg_attr(test, assert_instr(st3))]
6721767196pub unsafe fn vst3q_s8(a: *mut i8, b: int8x16x3_t) {
67218- unsafe extern "unadjusted" {
67219- #[cfg_attr(
67220- any(target_arch = "aarch64", target_arch = "arm64ec"),
67221- link_name = "llvm.aarch64.neon.st3.v16i8.p0"
67222- )]
67223- fn _vst3q_s8(a: int8x16_t, b: int8x16_t, c: int8x16_t, ptr: *mut i8);
67224- }
67225- _vst3q_s8(b.0, b.1, b.2, a as _)
67197+ crate::core_arch::macros::interleaving_store!(i8, 16, 3, a, b)
6722667198}
6722767199#[doc = "Store multiple 3-element structures from three registers"]
6722867200#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vst3_s16)"]
@@ -67234,14 +67206,7 @@ pub unsafe fn vst3q_s8(a: *mut i8, b: int8x16x3_t) {
6723467206#[stable(feature = "neon_intrinsics", since = "1.59.0")]
6723567207#[cfg_attr(test, assert_instr(st3))]
6723667208pub unsafe fn vst3_s16(a: *mut i16, b: int16x4x3_t) {
67237- unsafe extern "unadjusted" {
67238- #[cfg_attr(
67239- any(target_arch = "aarch64", target_arch = "arm64ec"),
67240- link_name = "llvm.aarch64.neon.st3.v4i16.p0"
67241- )]
67242- fn _vst3_s16(a: int16x4_t, b: int16x4_t, c: int16x4_t, ptr: *mut i8);
67243- }
67244- _vst3_s16(b.0, b.1, b.2, a as _)
67209+ crate::core_arch::macros::interleaving_store!(i16, 4, 3, a, b)
6724567210}
6724667211#[doc = "Store multiple 3-element structures from three registers"]
6724767212#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vst3q_s16)"]
@@ -67253,14 +67218,7 @@ pub unsafe fn vst3_s16(a: *mut i16, b: int16x4x3_t) {
6725367218#[stable(feature = "neon_intrinsics", since = "1.59.0")]
6725467219#[cfg_attr(test, assert_instr(st3))]
6725567220pub unsafe fn vst3q_s16(a: *mut i16, b: int16x8x3_t) {
67256- unsafe extern "unadjusted" {
67257- #[cfg_attr(
67258- any(target_arch = "aarch64", target_arch = "arm64ec"),
67259- link_name = "llvm.aarch64.neon.st3.v8i16.p0"
67260- )]
67261- fn _vst3q_s16(a: int16x8_t, b: int16x8_t, c: int16x8_t, ptr: *mut i8);
67262- }
67263- _vst3q_s16(b.0, b.1, b.2, a as _)
67221+ crate::core_arch::macros::interleaving_store!(i16, 8, 3, a, b)
6726467222}
6726567223#[doc = "Store multiple 3-element structures from three registers"]
6726667224#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vst3_s32)"]
@@ -67272,14 +67230,7 @@ pub unsafe fn vst3q_s16(a: *mut i16, b: int16x8x3_t) {
6727267230#[stable(feature = "neon_intrinsics", since = "1.59.0")]
6727367231#[cfg_attr(test, assert_instr(st3))]
6727467232pub unsafe fn vst3_s32(a: *mut i32, b: int32x2x3_t) {
67275- unsafe extern "unadjusted" {
67276- #[cfg_attr(
67277- any(target_arch = "aarch64", target_arch = "arm64ec"),
67278- link_name = "llvm.aarch64.neon.st3.v2i32.p0"
67279- )]
67280- fn _vst3_s32(a: int32x2_t, b: int32x2_t, c: int32x2_t, ptr: *mut i8);
67281- }
67282- _vst3_s32(b.0, b.1, b.2, a as _)
67233+ crate::core_arch::macros::interleaving_store!(i32, 2, 3, a, b)
6728367234}
6728467235#[doc = "Store multiple 3-element structures from three registers"]
6728567236#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vst3q_s32)"]
@@ -67291,14 +67242,7 @@ pub unsafe fn vst3_s32(a: *mut i32, b: int32x2x3_t) {
6729167242#[stable(feature = "neon_intrinsics", since = "1.59.0")]
6729267243#[cfg_attr(test, assert_instr(st3))]
6729367244pub unsafe fn vst3q_s32(a: *mut i32, b: int32x4x3_t) {
67294- unsafe extern "unadjusted" {
67295- #[cfg_attr(
67296- any(target_arch = "aarch64", target_arch = "arm64ec"),
67297- link_name = "llvm.aarch64.neon.st3.v4i32.p0"
67298- )]
67299- fn _vst3q_s32(a: int32x4_t, b: int32x4_t, c: int32x4_t, ptr: *mut i8);
67300- }
67301- _vst3q_s32(b.0, b.1, b.2, a as _)
67245+ crate::core_arch::macros::interleaving_store!(i32, 4, 3, a, b)
6730267246}
6730367247#[doc = "Store multiple 3-element structures from three registers"]
6730467248#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vst3_lane_f16)"]
0 commit comments