On 24/10/2018 12:29, co...@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.