Open cbezault opened 4 years ago
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.26.28801\include\isa_availability.h
defines:
__ISA_AVAILABLE_ARMNT
(no NEON support)__ISA_AVAILABLE_NEON
(128-bit NEON support for 32-bit ARM)__ISA_AVAILABLE_NEON_ARM64
(128-bit NEON support for ARM64; there's a comment about how the distinction is "temporary" but I suspect it's permanent)We can assume NEON is present in both 32 bits and 64 bits. https://docs.microsoft.com/en-ca/cpp/build/overview-of-arm-abi-conventions specifies WoA requires it.
Updating this issue to no longer mention ARM32; at this time we still need to keep it compiling and working, but we no longer care about optimizing for it. Only ARM64 performance matters.
Currently the vector algorithms in
stl/src/vector_algorithms.cpp
are only optimized for SSE2, SSE4.2, and AVX2. We should also provide NEON implementations of these algorithms.