diff --git a/simd.h b/simd.h index 25503e4..8168a7a 100644 --- a/simd.h +++ b/simd.h @@ -157,7 +157,7 @@ static inline simd_vector simd_sort(simd_vector input) input = vtrn2q_f32(perm_neigh_min, perm_neigh_max); } { - float32x4_t perm_neigh = __builtin_shufflevector(input, input, 3, 2, 1, 0); + float32x4_t perm_neigh = simd_reverse(input); float32x4_t perm_neigh_min = vminq_f32(input, perm_neigh); float32x4_t perm_neigh_max = vmaxq_f32(input, perm_neigh); input = vextq_u64(perm_neigh_min, perm_neigh_max, 1);