@@ -65923,14 +65923,7 @@ pub unsafe fn vst1q_lane_p64<const LANE: i32>(a: *mut p64, b: poly64x2_t) {
6592365923#[cfg(not(target_arch = "arm64ec"))]
6592465924#[cfg_attr(test, assert_instr(st2))]
6592565925pub unsafe fn vst2_f16(a: *mut f16, b: float16x4x2_t) {
65926- unsafe extern "unadjusted" {
65927- #[cfg_attr(
65928- any(target_arch = "aarch64", target_arch = "arm64ec"),
65929- link_name = "llvm.aarch64.neon.st2.v4f16.p0"
65930- )]
65931- fn _vst2_f16(a: float16x4_t, b: float16x4_t, ptr: *mut i8);
65932- }
65933- _vst2_f16(b.0, b.1, a as _)
65926+ crate::core_arch::macros::interleaving_store!(f16, 4, 2, a, b)
6593465927}
6593565928#[doc = "Store multiple 2-element structures from two registers"]
6593665929#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vst2q_f16)"]
@@ -65944,14 +65937,7 @@ pub unsafe fn vst2_f16(a: *mut f16, b: float16x4x2_t) {
6594465937#[cfg(not(target_arch = "arm64ec"))]
6594565938#[cfg_attr(test, assert_instr(st2))]
6594665939pub unsafe fn vst2q_f16(a: *mut f16, b: float16x8x2_t) {
65947- unsafe extern "unadjusted" {
65948- #[cfg_attr(
65949- any(target_arch = "aarch64", target_arch = "arm64ec"),
65950- link_name = "llvm.aarch64.neon.st2.v8f16.p0"
65951- )]
65952- fn _vst2q_f16(a: float16x8_t, b: float16x8_t, ptr: *mut i8);
65953- }
65954- _vst2q_f16(b.0, b.1, a as _)
65940+ crate::core_arch::macros::interleaving_store!(f16, 8, 2, a, b)
6595565941}
6595665942#[doc = "Store multiple 2-element structures from two registers"]
6595765943#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vst2_f16)"]
@@ -67089,11 +67075,7 @@ pub unsafe fn vst2q_p16(a: *mut p16, b: poly16x8x2_t) {
6708967075#[cfg(not(target_arch = "arm64ec"))]
6709067076#[cfg_attr(test, assert_instr(vst3))]
6709167077pub unsafe fn vst3_f16(a: *mut f16, b: float16x4x3_t) {
67092- unsafe extern "unadjusted" {
67093- #[cfg_attr(target_arch = "arm", link_name = "llvm.arm.neon.vst3.p0.v4f16")]
67094- fn _vst3_f16(ptr: *mut i8, a: float16x4_t, b: float16x4_t, c: float16x4_t, size: i32);
67095- }
67096- _vst3_f16(a as _, b.0, b.1, b.2, 2)
67078+ crate::core_arch::macros::interleaving_store!(f16, 4, 3, a, b)
6709767079}
6709867080#[doc = "Store multiple 3-element structures from three registers"]
6709967081#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vst3q_f16)"]
@@ -67108,11 +67090,7 @@ pub unsafe fn vst3_f16(a: *mut f16, b: float16x4x3_t) {
6710867090#[cfg(not(target_arch = "arm64ec"))]
6710967091#[cfg_attr(test, assert_instr(vst3))]
6711067092pub unsafe fn vst3q_f16(a: *mut f16, b: float16x8x3_t) {
67111- unsafe extern "unadjusted" {
67112- #[cfg_attr(target_arch = "arm", link_name = "llvm.arm.neon.vst3.p0.v8f16")]
67113- fn _vst3q_f16(ptr: *mut i8, a: float16x8_t, b: float16x8_t, c: float16x8_t, size: i32);
67114- }
67115- _vst3q_f16(a as _, b.0, b.1, b.2, 2)
67093+ crate::core_arch::macros::interleaving_store!(f16, 8, 3, a, b)
6711667094}
6711767095#[doc = "Store multiple 3-element structures from three registers"]
6711867096#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vst3_f16)"]
@@ -68385,14 +68363,7 @@ pub unsafe fn vst4q_f16(a: *mut f16, b: float16x8x4_t) {
6838568363#[cfg(not(target_arch = "arm64ec"))]
6838668364#[cfg_attr(test, assert_instr(st4))]
6838768365pub unsafe fn vst4_f16(a: *mut f16, b: float16x4x4_t) {
68388- unsafe extern "unadjusted" {
68389- #[cfg_attr(
68390- any(target_arch = "aarch64", target_arch = "arm64ec"),
68391- link_name = "llvm.aarch64.neon.st4.v4f16.p0"
68392- )]
68393- fn _vst4_f16(a: float16x4_t, b: float16x4_t, c: float16x4_t, d: float16x4_t, ptr: *mut i8);
68394- }
68395- _vst4_f16(b.0, b.1, b.2, b.3, a as _)
68366+ crate::core_arch::macros::interleaving_store!(f16, 4, 4, a, b)
6839668367}
6839768368#[doc = "Store multiple 4-element structures from four registers"]
6839868369#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vst4q_f16)"]
@@ -68406,14 +68377,7 @@ pub unsafe fn vst4_f16(a: *mut f16, b: float16x4x4_t) {
6840668377#[cfg(not(target_arch = "arm64ec"))]
6840768378#[cfg_attr(test, assert_instr(st4))]
6840868379pub unsafe fn vst4q_f16(a: *mut f16, b: float16x8x4_t) {
68409- unsafe extern "unadjusted" {
68410- #[cfg_attr(
68411- any(target_arch = "aarch64", target_arch = "arm64ec"),
68412- link_name = "llvm.aarch64.neon.st4.v8f16.p0"
68413- )]
68414- fn _vst4q_f16(a: float16x8_t, b: float16x8_t, c: float16x8_t, d: float16x8_t, ptr: *mut i8);
68415- }
68416- _vst4q_f16(b.0, b.1, b.2, b.3, a as _)
68380+ crate::core_arch::macros::interleaving_store!(f16, 8, 4, a, b)
6841768381}
6841868382#[doc = "Store multiple 4-element structures from four registers"]
6841968383#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vst4_f32)"]
0 commit comments