|Home > armclang Command-line Options > -mfpu|
Specifies the target FPU architecture, that is the floating-point hardware available on the target.
To view a list of all the supported FPU architectures, use:
-mfpu=listis rejected when targeting AArch64 state.
Alternatively, to specify a target FPU architecture, use:
is one of the following:
-mfpu option overrides the default FPU
option implied by the target architecture.
-mfpuoption is ignored with AArch64 targets, for example
aarch64-arm-none-eabi. Use the
-mcpuoption to override the default FPU for
aarch64-arm-none-eabitargets. For example, to prevent the use of floating-point instructions or floating-point registers for the
aarch64-arm-none-eabitarget use the
-mcpu=option. Subsequent use of floating-point data types in this mode is unsupported.
There are no software floating-point libraries for AArch64 targets. When linking
for AArch64 targets,
armlink uses AArch64
libraries that contain floating-point and Advanced SIMD instructions and
registers. This applies even if you compile the source with
-mcpu=<name>+nofp+nosimd to prevent the
compiler from using floating-point and Advanced SIMD instructions and registers.
Therefore, there is no guarantee that the linked image for AArch64 targets is
entirely free of floating-point and Advanced SIMD instructions and
To prevent the use of floating-point and Advanced SIMD instructions and registers in images that are linked for AArch64 targets, re-implement the library functions or create your own library that does not use floating-point and Advanced SIMD instructions and registers.
The default FPU option depends on the target processor.