This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] bring netbsd/arm support up to speed. eabi, etc.
On 24/10/2018 12:29, coypu@sdf.org wrote:
>>> +/* Default to full VFP if -mhard-float is specified. */
>>> +#undef SUBTARGET_ASM_FLOAT_SPEC
>>> +#define SUBTARGET_ASM_FLOAT_SPEC \
>>> + "%{mhard-float:%{!mfpu=*:-mfpu=vfp}} \
>>> + %{mfloat-abi=hard:%{!mfpu=*:-mfpu=vfp}}"
>>
>> Please rework this to use -mfpu=auto. -mfpu=vfp is very rarely the
>> right setting to use.
>
> This change seems scary. Going over my default CPUs, I guess the
> problematic one might cortex-a8.
> I'm worried it might have negative repercussions for VFPv3-d16.
> Is that a valid concern?
> I see generic-armv7-a is a more popular default CPU, but I am not sure
> from reading the code that it avoids this problem.
Well, auto should be the default anyway, unless overridden during configure.
You're right that cortex-a8 has Advanced SIMD enabled by default. But
generic-armv7-a should be fine (the architecture there is armv7-a+fp and
+fp in this context means VFPv3-d16, which is exactly what you want in
this case).
For armv6 arm1176jzf-s is fine too, that enables FP automatically. Only
armv4 from your current list is incompatible with FP (armv5t is as well,
but armv5te is fine). ARMv8-a never has FP without SIMD so any CPU with
SIMD will be fine.
Note that -mfpu=vfp means VFPv2, so you really don't want that on ARMv7
or later devices as it will restrict the ISA unnecessarily.
R.