[cfe-dev] AArch64 Clang CLI interface proposal

Amara Emerson amara.emerson at arm.com
Tue Jan 7 09:05:22 PST 2014


Clang for AArch64 currently accepts an -mfpu option to specify the FPU/NEON
unit. This behaviour, while consistent with the ARM target and ARM gcc, will
no longer be supported in AArch64 gcc. The preferred CLI for specifying
FPU/NEON units will be the use of the -march option with feature modifiers
(+[no]feature). The feature modifiers according to the GCC manual are:
* crypto
* fp
* simd (implies fp)

For example, "clang -march=cortex-a57+crypto" or "clang
-march=generic+nosimd". Whether or not simd (neon) is enabled by default is
an orthogonal issue.

We plan on implementing this interface for AArch64 Clang in future, and
completely dropping the current support for -mfpu. This means that -march
will become the preferred way to specify the target CPU/architecture.

This is an option currently supported by AArch64 GCC, which we would also
like to implement. Passing this option to the compiler should ensure that it
generates code which only uses the general purpose registers. Otherwise, the
compiler should throw an error.

Is this proposal reasonable?


More information about the cfe-dev mailing list