Skip to content

Commit 6acb40f

Browse files
committed
don't multiversion on ARM
NEON is part of Aarch64 baseline instruction set, so multiversioning does nothing
1 parent cee25fa commit 6acb40f

File tree

7 files changed

+0
-22
lines changed

7 files changed

+0
-22
lines changed

src/algorithms/cobra.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1083,7 +1083,6 @@ pub(crate) fn bit_reverse_permutation<T>(buf: &mut [T]) {
10831083
"x86+avx2+fma",
10841084
"x86+sse4.2",
10851085
"x86+sse2",
1086-
"aarch64+neon",
10871086
))]
10881087
pub fn cobra_apply<T: Default + Copy + Clone>(v: &mut [T], log_n: usize) {
10891088
if log_n <= 2 * LOG_BLOCK_WIDTH {

src/algorithms/dif.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ use crate::twiddles::filter_twiddles;
4242
"x86+avx2+fma",
4343
"x86+sse4.2",
4444
"x86+sse2",
45-
"aarch64+neon", // ARM64 with NEON (Apple Silicon M1/M2)
4645
))]
4746
pub fn fft_64_with_opts_and_plan(
4847
reals: &mut [f64],
@@ -151,7 +150,6 @@ pub fn fft_64_with_opts_and_plan(
151150
"x86+avx2+fma",
152151
"x86+sse4.2",
153152
"x86+sse2",
154-
"aarch64+neon",
155153
))]
156154
pub fn fft_32_with_opts_and_plan(
157155
reals: &mut [f32],

src/kernels/common.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ use num_traits::Float;
1414
"x86+avx2+fma",
1515
"x86+sse4.2",
1616
"x86+sse2",
17-
"aarch64+neon",
1817
))]
1918
#[inline]
2019
pub fn fft_chunk_2<T: Float>(reals: &mut [T], imags: &mut [T]) {
@@ -43,7 +42,6 @@ pub fn fft_chunk_2<T: Float>(reals: &mut [T], imags: &mut [T]) {
4342
"x86+avx2+fma",
4443
"x86+sse4.2",
4544
"x86+sse2",
46-
"aarch64+neon",
4745
))]
4846
#[inline]
4947
pub fn fft_chunk_4<T: Float>(reals: &mut [T], imags: &mut [T]) {

src/kernels/dif.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ use wide::{f32x16, f64x8};
1515
"x86+avx2+fma",
1616
"x86+sse4.2",
1717
"x86+sse2",
18-
"aarch64+neon",
1918
))]
2019
#[inline]
2120
pub fn fft_64_chunk_n_simd(
@@ -71,7 +70,6 @@ pub fn fft_64_chunk_n_simd(
7170
"x86+avx2+fma",
7271
"x86+sse4.2",
7372
"x86+sse2",
74-
"aarch64+neon",
7573
))]
7674
#[inline]
7775
pub fn fft_32_chunk_n_simd(
@@ -127,7 +125,6 @@ pub fn fft_32_chunk_n_simd(
127125
"x86+avx2+fma",
128126
"x86+sse4.2",
129127
"x86+sse2",
130-
"aarch64+neon",
131128
))]
132129
#[inline]
133130
pub fn fft_chunk_n<T: Float>(

src/kernels/dit.rs

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ pub fn fft_dit_chunk_2<T: Float>(reals: &mut [T], imags: &mut [T]) {
2525
"x86+avx2+fma",
2626
"x86+sse4.2",
2727
"x86+sse2",
28-
"aarch64+neon",
2928
))]
3029
#[inline]
3130
pub fn fft_dit_chunk_4_simd_f64(reals: &mut [f64], imags: &mut [f64]) {
@@ -77,7 +76,6 @@ pub fn fft_dit_chunk_4_simd_f64(reals: &mut [f64], imags: &mut [f64]) {
7776
"x86+avx2+fma",
7877
"x86+sse4.2",
7978
"x86+sse2",
80-
"aarch64+neon",
8179
))]
8280
#[inline]
8381
pub fn fft_dit_chunk_4_simd_f32(reals: &mut [f32], imags: &mut [f32]) {
@@ -129,7 +127,6 @@ pub fn fft_dit_chunk_4_simd_f32(reals: &mut [f32], imags: &mut [f32]) {
129127
"x86+avx2+fma",
130128
"x86+sse4.2",
131129
"x86+sse2",
132-
"aarch64+neon",
133130
))]
134131
#[inline]
135132
pub fn fft_dit_chunk_8_simd_f64(reals: &mut [f64], imags: &mut [f64]) {
@@ -187,7 +184,6 @@ pub fn fft_dit_chunk_8_simd_f64(reals: &mut [f64], imags: &mut [f64]) {
187184
"x86+avx2+fma",
188185
"x86+sse4.2",
189186
"x86+sse2",
190-
"aarch64+neon",
191187
))]
192188
#[inline]
193189
pub fn fft_dit_chunk_8_simd_f32(reals: &mut [f32], imags: &mut [f32]) {
@@ -245,7 +241,6 @@ pub fn fft_dit_chunk_8_simd_f32(reals: &mut [f32], imags: &mut [f32]) {
245241
"x86+avx2+fma",
246242
"x86+sse4.2",
247243
"x86+sse2",
248-
"aarch64+neon",
249244
))]
250245
#[inline]
251246
pub fn fft_dit_chunk_16_simd_f64(reals: &mut [f64], imags: &mut [f64]) {
@@ -313,7 +308,6 @@ pub fn fft_dit_chunk_16_simd_f64(reals: &mut [f64], imags: &mut [f64]) {
313308
"x86+avx2+fma",
314309
"x86+sse4.2",
315310
"x86+sse2",
316-
"aarch64+neon",
317311
))]
318312
#[inline]
319313
pub fn fft_dit_chunk_16_simd_f32(reals: &mut [f32], imags: &mut [f32]) {
@@ -380,7 +374,6 @@ pub fn fft_dit_chunk_16_simd_f32(reals: &mut [f32], imags: &mut [f32]) {
380374
"x86+avx2+fma",
381375
"x86+sse4.2",
382376
"x86+sse2",
383-
"aarch64+neon",
384377
))]
385378
#[inline]
386379
pub fn fft_dit_chunk_32_simd_f64(reals: &mut [f64], imags: &mut [f64]) {
@@ -495,7 +488,6 @@ pub fn fft_dit_chunk_32_simd_f64(reals: &mut [f64], imags: &mut [f64]) {
495488
"x86+avx2+fma",
496489
"x86+sse4.2",
497490
"x86+sse2",
498-
"aarch64+neon",
499491
))]
500492
#[inline]
501493
pub fn fft_dit_chunk_32_simd_f32(reals: &mut [f32], imags: &mut [f32]) {
@@ -578,7 +570,6 @@ pub fn fft_dit_chunk_32_simd_f32(reals: &mut [f32], imags: &mut [f32]) {
578570
"x86+avx2+fma",
579571
"x86+sse4.2",
580572
"x86+sse2",
581-
"aarch64+neon",
582573
))]
583574
#[inline]
584575
pub fn fft_dit_chunk_64_simd_f64(reals: &mut [f64], imags: &mut [f64]) {
@@ -768,7 +759,6 @@ pub fn fft_dit_chunk_64_simd_f64(reals: &mut [f64], imags: &mut [f64]) {
768759
"x86+avx2+fma",
769760
"x86+sse4.2",
770761
"x86+sse2",
771-
"aarch64+neon",
772762
))]
773763
#[inline]
774764
pub fn fft_dit_chunk_64_simd_f32(reals: &mut [f32], imags: &mut [f32]) {
@@ -909,7 +899,6 @@ pub fn fft_dit_chunk_64_simd_f32(reals: &mut [f32], imags: &mut [f32]) {
909899
"x86+avx2+fma",
910900
"x86+sse4.2",
911901
"x86+sse2",
912-
"aarch64+neon",
913902
))]
914903
#[inline]
915904
pub fn fft_dit_64_chunk_n_simd(
@@ -973,7 +962,6 @@ pub fn fft_dit_64_chunk_n_simd(
973962
"x86+avx2+fma",
974963
"x86+sse4.2",
975964
"x86+sse2",
976-
"aarch64+neon",
977965
))]
978966
#[inline]
979967
pub fn fft_dit_32_chunk_n_simd(

src/twiddles.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,6 @@ generate_twiddles_simd!(generate_twiddles_simd_32, f32, 8, f32x8);
194194
"x86+avx2+fma",
195195
"x86+sse4.2",
196196
"x86+sse2",
197-
"aarch64+neon", // ARM64 with NEON (Apple Silicon M1/M2)
198197
))]
199198
#[inline]
200199
pub(crate) fn filter_twiddles<T: Float>(twiddles_re: &[T], twiddles_im: &[T]) -> (Vec<T>, Vec<T>) {

src/utils.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ use num_traits::Float;
1616
"x86+avx2+fma",
1717
"x86+sse4.2",
1818
"x86+sse2",
19-
"aarch64+neon", // ARM64 with NEON (Apple Silicon M1/M2)
2019
))]
2120
/// Separates data like `[1, 2, 3, 4]` into `([1, 3], [2, 4])` for any length
2221
pub(crate) fn deinterleave<T: Copy + Default>(input: &[T]) -> (Vec<T>, Vec<T>) {

0 commit comments

Comments
 (0)