@@ -13256,14 +13256,7 @@ pub fn vmaxnmh_f16(a: f16, b: f16) -> f16 {
13256
13256
#[unstable(feature = "stdarch_neon_f16", issue = "136306")]
13257
13257
#[cfg_attr(test, assert_instr(fmaxnmv))]
13258
13258
pub fn vmaxnmv_f16(a: float16x4_t) -> f16 {
13259
- unsafe extern "unadjusted" {
13260
- #[cfg_attr(
13261
- any(target_arch = "aarch64", target_arch = "arm64ec"),
13262
- link_name = "llvm.aarch64.neon.fmaxnmv.f16.v4f16"
13263
- )]
13264
- fn _vmaxnmv_f16(a: float16x4_t) -> f16;
13265
- }
13266
- unsafe { _vmaxnmv_f16(a) }
13259
+ unsafe { simd_reduce_max(a) }
13267
13260
}
13268
13261
#[doc = "Floating-point maximum number across vector"]
13269
13262
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vmaxnmvq_f16)"]
@@ -13272,14 +13265,7 @@ pub fn vmaxnmv_f16(a: float16x4_t) -> f16 {
13272
13265
#[unstable(feature = "stdarch_neon_f16", issue = "136306")]
13273
13266
#[cfg_attr(test, assert_instr(fmaxnmv))]
13274
13267
pub fn vmaxnmvq_f16(a: float16x8_t) -> f16 {
13275
- unsafe extern "unadjusted" {
13276
- #[cfg_attr(
13277
- any(target_arch = "aarch64", target_arch = "arm64ec"),
13278
- link_name = "llvm.aarch64.neon.fmaxnmv.f16.v8f16"
13279
- )]
13280
- fn _vmaxnmvq_f16(a: float16x8_t) -> f16;
13281
- }
13282
- unsafe { _vmaxnmvq_f16(a) }
13268
+ unsafe { simd_reduce_max(a) }
13283
13269
}
13284
13270
#[doc = "Floating-point maximum number across vector"]
13285
13271
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vmaxnmv_f32)"]
@@ -13288,14 +13274,7 @@ pub fn vmaxnmvq_f16(a: float16x8_t) -> f16 {
13288
13274
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
13289
13275
#[cfg_attr(test, assert_instr(fmaxnmp))]
13290
13276
pub fn vmaxnmv_f32(a: float32x2_t) -> f32 {
13291
- unsafe extern "unadjusted" {
13292
- #[cfg_attr(
13293
- any(target_arch = "aarch64", target_arch = "arm64ec"),
13294
- link_name = "llvm.aarch64.neon.fmaxnmv.f32.v2f32"
13295
- )]
13296
- fn _vmaxnmv_f32(a: float32x2_t) -> f32;
13297
- }
13298
- unsafe { _vmaxnmv_f32(a) }
13277
+ unsafe { simd_reduce_max(a) }
13299
13278
}
13300
13279
#[doc = "Floating-point maximum number across vector"]
13301
13280
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vmaxnmvq_f64)"]
@@ -13304,14 +13283,7 @@ pub fn vmaxnmv_f32(a: float32x2_t) -> f32 {
13304
13283
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
13305
13284
#[cfg_attr(test, assert_instr(fmaxnmp))]
13306
13285
pub fn vmaxnmvq_f64(a: float64x2_t) -> f64 {
13307
- unsafe extern "unadjusted" {
13308
- #[cfg_attr(
13309
- any(target_arch = "aarch64", target_arch = "arm64ec"),
13310
- link_name = "llvm.aarch64.neon.fmaxnmv.f64.v2f64"
13311
- )]
13312
- fn _vmaxnmvq_f64(a: float64x2_t) -> f64;
13313
- }
13314
- unsafe { _vmaxnmvq_f64(a) }
13286
+ unsafe { simd_reduce_max(a) }
13315
13287
}
13316
13288
#[doc = "Floating-point maximum number across vector"]
13317
13289
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vmaxnmvq_f32)"]
@@ -13320,14 +13292,7 @@ pub fn vmaxnmvq_f64(a: float64x2_t) -> f64 {
13320
13292
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
13321
13293
#[cfg_attr(test, assert_instr(fmaxnmv))]
13322
13294
pub fn vmaxnmvq_f32(a: float32x4_t) -> f32 {
13323
- unsafe extern "unadjusted" {
13324
- #[cfg_attr(
13325
- any(target_arch = "aarch64", target_arch = "arm64ec"),
13326
- link_name = "llvm.aarch64.neon.fmaxnmv.f32.v4f32"
13327
- )]
13328
- fn _vmaxnmvq_f32(a: float32x4_t) -> f32;
13329
- }
13330
- unsafe { _vmaxnmvq_f32(a) }
13295
+ unsafe { simd_reduce_max(a) }
13331
13296
}
13332
13297
#[doc = "Floating-point maximum number across vector"]
13333
13298
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vmaxv_f16)"]
@@ -13683,14 +13648,7 @@ pub fn vminnmh_f16(a: f16, b: f16) -> f16 {
13683
13648
#[unstable(feature = "stdarch_neon_f16", issue = "136306")]
13684
13649
#[cfg_attr(test, assert_instr(fminnmv))]
13685
13650
pub fn vminnmv_f16(a: float16x4_t) -> f16 {
13686
- unsafe extern "unadjusted" {
13687
- #[cfg_attr(
13688
- any(target_arch = "aarch64", target_arch = "arm64ec"),
13689
- link_name = "llvm.aarch64.neon.fminnmv.f16.v4f16"
13690
- )]
13691
- fn _vminnmv_f16(a: float16x4_t) -> f16;
13692
- }
13693
- unsafe { _vminnmv_f16(a) }
13651
+ unsafe { simd_reduce_min(a) }
13694
13652
}
13695
13653
#[doc = "Floating-point minimum number across vector"]
13696
13654
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vminnmvq_f16)"]
@@ -13699,14 +13657,7 @@ pub fn vminnmv_f16(a: float16x4_t) -> f16 {
13699
13657
#[unstable(feature = "stdarch_neon_f16", issue = "136306")]
13700
13658
#[cfg_attr(test, assert_instr(fminnmv))]
13701
13659
pub fn vminnmvq_f16(a: float16x8_t) -> f16 {
13702
- unsafe extern "unadjusted" {
13703
- #[cfg_attr(
13704
- any(target_arch = "aarch64", target_arch = "arm64ec"),
13705
- link_name = "llvm.aarch64.neon.fminnmv.f16.v8f16"
13706
- )]
13707
- fn _vminnmvq_f16(a: float16x8_t) -> f16;
13708
- }
13709
- unsafe { _vminnmvq_f16(a) }
13660
+ unsafe { simd_reduce_min(a) }
13710
13661
}
13711
13662
#[doc = "Floating-point minimum number across vector"]
13712
13663
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vminnmv_f32)"]
@@ -13715,14 +13666,7 @@ pub fn vminnmvq_f16(a: float16x8_t) -> f16 {
13715
13666
#[cfg_attr(test, assert_instr(fminnmp))]
13716
13667
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
13717
13668
pub fn vminnmv_f32(a: float32x2_t) -> f32 {
13718
- unsafe extern "unadjusted" {
13719
- #[cfg_attr(
13720
- any(target_arch = "aarch64", target_arch = "arm64ec"),
13721
- link_name = "llvm.aarch64.neon.fminnmv.f32.v2f32"
13722
- )]
13723
- fn _vminnmv_f32(a: float32x2_t) -> f32;
13724
- }
13725
- unsafe { _vminnmv_f32(a) }
13669
+ unsafe { simd_reduce_min(a) }
13726
13670
}
13727
13671
#[doc = "Floating-point minimum number across vector"]
13728
13672
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vminnmvq_f64)"]
@@ -13731,14 +13675,7 @@ pub fn vminnmv_f32(a: float32x2_t) -> f32 {
13731
13675
#[cfg_attr(test, assert_instr(fminnmp))]
13732
13676
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
13733
13677
pub fn vminnmvq_f64(a: float64x2_t) -> f64 {
13734
- unsafe extern "unadjusted" {
13735
- #[cfg_attr(
13736
- any(target_arch = "aarch64", target_arch = "arm64ec"),
13737
- link_name = "llvm.aarch64.neon.fminnmv.f64.v2f64"
13738
- )]
13739
- fn _vminnmvq_f64(a: float64x2_t) -> f64;
13740
- }
13741
- unsafe { _vminnmvq_f64(a) }
13678
+ unsafe { simd_reduce_min(a) }
13742
13679
}
13743
13680
#[doc = "Floating-point minimum number across vector"]
13744
13681
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vminnmvq_f32)"]
@@ -13747,14 +13684,7 @@ pub fn vminnmvq_f64(a: float64x2_t) -> f64 {
13747
13684
#[cfg_attr(test, assert_instr(fminnmv))]
13748
13685
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
13749
13686
pub fn vminnmvq_f32(a: float32x4_t) -> f32 {
13750
- unsafe extern "unadjusted" {
13751
- #[cfg_attr(
13752
- any(target_arch = "aarch64", target_arch = "arm64ec"),
13753
- link_name = "llvm.aarch64.neon.fminnmv.f32.v4f32"
13754
- )]
13755
- fn _vminnmvq_f32(a: float32x4_t) -> f32;
13756
- }
13757
- unsafe { _vminnmvq_f32(a) }
13687
+ unsafe { simd_reduce_min(a) }
13758
13688
}
13759
13689
#[doc = "Floating-point minimum number across vector"]
13760
13690
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vminv_f16)"]
0 commit comments