Even though ARMv7 Android doesn't guarantee the presence of NEON, most devices have it and e.g. Firefox opts not to support ARMv7 devices that don't have it. (Notably the Tegra 2-based ones.)
To allow Rust code, including the standard library, to unconditionally use NEON in such a scenario, it would help a lot if upstream Rust supported an ARMv7+NEON Android target. (NEON support was explicitly removed from armv7-linux-androideabi.
In order to test code on a system that has all the usual tooling, it's useful to have a corresponding GNU/Linux target, too. NEON was explicitly removed from armv7-unknown-linux-gnueabihf and also from armv7-unknown-linux-musleabihf.
Please add new androideabi and gnueabihf ARMv7 targets that have NEON enabled and a NEON-enabled standard library shipped via rustup so that std::simd ends up compiled with NEON enabled. (See the issue about boolean reductions there.)
How to name these is a total bikeshed, but as a starting point, I suggest armv7neon-unknown-linux-gnueabihf and armv7neon-linux-androideabi.
Even though ARMv7 Android doesn't guarantee the presence of NEON, most devices have it and e.g. Firefox opts not to support ARMv7 devices that don't have it. (Notably the Tegra 2-based ones.)
To allow Rust code, including the standard library, to unconditionally use NEON in such a scenario, it would help a lot if upstream Rust supported an ARMv7+NEON Android target. (NEON support was explicitly removed from
armv7-linux-androideabi.In order to test code on a system that has all the usual tooling, it's useful to have a corresponding GNU/Linux target, too. NEON was explicitly removed from
armv7-unknown-linux-gnueabihfand also fromarmv7-unknown-linux-musleabihf.Please add new
androideabiandgnueabihfARMv7 targets that have NEON enabled and a NEON-enabled standard library shipped viarustupso thatstd::simdends up compiled with NEON enabled. (See the issue about boolean reductions there.)How to name these is a total bikeshed, but as a starting point, I suggest
armv7neon-unknown-linux-gnueabihfandarmv7neon-linux-androideabi.