Search code examples
c++armsimdavxneon

Is there an ARM Neon Gather Instruction?


Is there an ARM Neon SIMD Gather instruction?

I am looking for an equivalent to the following Intel Intrinsic instruction:

 _mm_i32gather_ps(blob, index, 4);

I can find related instructions such as:

Although these functions are related, I do not see an equivalent and am asking myself whether such loads are supported on Arm Neon.


Solution

  • No, there is no gather in Neon. Scatter/gather instructions are explicitly one of the improvements of SVE/SVE2 over Neon (and thus reasons to move to SVE/SVE2, along with scalable vectors for different targets etc) See SVE documentation for more.