clarify armv7 architecture baseline
currently, per gcc spec, it is
armv7-*-*-*eabihf) _arch_configure="--with-arch=armv7-a --with-tune=generic-armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-abi=aapcs-linux --with-mode=thumb";;
this is:
- non-neon (that would be
vfpv3-neon
, etc), some packages do compile with this anyway or force it, yet nobody to my knowledge has ever reported an issue with this specifically. they have for v4 however: - v3 float (v4 also adds half-precision and fma instructions), there are things that were broken with that. note both v3, v4, neon-v3, neon-v4, and then various register counts (d16, d32, f16, u, alphabet soup, spaghetti bolognaise, ..) exist- the v is what is relevant, mostly, as only non -A class cpus have non -d16/-d32 (those don't generally run linux distros normally at all, just mcu stuff)
- -mthumb default (this doesn't cause any issues to my knowledge; like above, neither clang nor rust, etc, defaulted to this either)
to my knowledge, almost no used armv7 devices lack neon support. every pmos port i looked at (not comprehensive) was a neon-enabled. perhaps we should change the default fpu?
of note, clang by default defaults to neon for --target=armv7-* as well (nobody noticed this up to now).
for fun trivia, the n900 cortex-a8 (from 2005, a well beloved port), has neon. almost everything newer probably does, too?
we should get a more comprehensive tally of devices used for what has or doesn't have it. if there are zero, we could raise it.