[PATCH] Implements -mfpu=softvfp+variants on ARM driver

Renato Golin renato.golin at linaro.org
Wed Feb 19 03:08:17 PST 2014


So, maybe I was wrong in assuming GCC would mimic ARMCC's behaviour...

On 18 February 2014 15:35, Bernard Ogden <bernard.ogden at arm.com> wrote:
> What I'm concerned about is that, at least for armcc, -mfpu=<fp arch> means hard float PCS. So the new behaviour looks like the armcc behaviour, but is different w.r.t. calling convention.

True. In LLVM, -mfpu doesn't change the calling convention.

> In GNU-land, it looks like the only valid parameter of this form is softvfp+vfp, and that only gas accepts this parameter.

Which makes no sense, since "vfp" can be anything. Do I default to the
version compatible with the CPU? Can I set NEON on v7? I don't think

> So although its nice to generalise this to something similar to the armcc behaviour, perhaps the right thing to do here is to support the GNU behaviour only (i.e. just support softvfp+vfp, which seems not to be legal in armcc). Updating the kernel makefiles would be even better, if that's a reasonable thing to do (I don't know why the assembler needs to care about PCS, but I expect that's ignorance).

Maybe using -mfloat-abi=softfp would be the best thing, since it's
supported by both compilers. I'll try to convince them... ;)


More information about the cfe-commits mailing list