On 2021-12-08 20:11 +0000, peter green wrote:
The result of this change is if you manually set "-march" then it
overrides the built-in defaults for both the CPU and FPU rather than
only overriding the CPU.
OK. That explains some things I've been noticing recently.
The default -march value on Debian armhf is "armv7-a+fp". You should
Shouldn't it be "armv7-a+nosimd+fp", because neon is not assumed to be present on armhf?
All neon code has to be gated on a HWCAP check, so the default should exclude it.
I recently found a case where gcc11 helpfully put a neon optimisation
into the init code of a complilation unit (zeroing variables), which
of course means the program crashes on started on non-neon hardware.
To be fair it only did that with -mfpu=neon set, but I'm not sure that it can't happen with a
default march=armv7-a+fp
OK. I just checked and in fact it doesn't do this optimisation if
built with -march=armv7-a+fp so I guess there is an implicit assumption that everything not listed is disabled?
Do we actually know for sure or shall I try and find out from some compiler engineers?
Wookey
--
Principal hats: Linaro, Debian, Wookware, ARM
http://wookware.org/
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEER4nvI8Pe/wVWh5yq+4YyUahvnkcFAmGyD2UACgkQ+4YyUahv nkdtIw//bQhWUy6nQDy2uF4lHTJc3G18fGFSfZYYvKa1WNSEw59kX2ZGP3nMFMFE cMbhL2wWV+uYvQy1PvMOsLR56aWu7A5nAwghI7TyK/+Rebl943FmEgNjK/ouPJmf nmDU5TwEv6RVhsrmcDnqOCdld2Vu6Sp/zW5/tka6Gg5eZ8/vL1O5uWrJtRGc3riR 3TJK4BxY9qwFwUIDY4NYtvU5Npfv5cm4wXkXEj79Hon5NCbd7oQuAO3wmiSkK/dQ tCv6Sq2Iy86VELGuPOGeJnB+wgdVoT4rWnhV25jpZcRJbENhr8s91o5RojPcCNT4 Y5usvwa2QrWLgEPPyB4hfetYhM/Pc9+gqIPRqSbZIY5xJcIARjCHuqbDS9hj4Sfc I7BAGsehV6qt4at2jZzjM9njZ/S6C38p07bwFl4R4Ek+vCRJcloIeQJw8KY9nRiL PGbISwWwGZ3iDDIMDrlVA2nlYgI7RdrPPm2guw63CrIcNELuhehd/jFEF4cErr/V 2Vw/BGXsGa9bLykmTQo45y0VHjCPKrhFcwDKO6LBfboN9Z4v+h0Ql39Nyfa5UndF gA9Xx0qhJTPTgCav60LcYCmVE97gRf8TrakYe4Kaqg2XWnyiZiUxvLhSwRKK5RuG WJez1QctvZmqp5/ZEd4XvqUTFVcIXm5ZFTcJF2qXREdySlz4w+M=
=xcEH
-----END PGP SIGNATURE-----
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)