SVE: Add pselect and rsqrt, and vectorize std::complex<float>

Add core vector primitives and std::complex<float> vectorization for ARM SVE:

  1. pselect: Predicated blend using svsel and svcmpne_n_s32.
  2. prsqrt: Reciprocal square root via svrsqrte_f32 / svrsqrte_f64 seed step followed by two Newton-Raphson iterations (x_{n+1} = x_n (3 - a x_n^2) / 2 via svrsqrts) achieving 0.5\text{ ulp} accuracy.
  3. PacketXcf: Vectorization of std::complex<float> on SVE.
Edited by Rasmus Munk Larsen

Merge request reports

Loading
Loading