3.1.6. FPU names

There is an option to specify the FPU name:

--fpu name

Selects the target floating-point unit (FPU) architecture. If you specify this option it overrides any implicit FPU set by the --cpu option. The assembler produces an error if the FPU you specify explicitly is incompatible with the CPU. Floating-point instructions also produce either errors or warnings if assembled for the wrong target FPU.

The assembler sets a build attribute corresponding to name in the object file. The linker determines compatibility between object files, and selection of libraries, accordingly.

Valid values for name are:

none

Selects no floating-point architecture. This makes your assembled object file compatible with object files built with any FPU.

vfpv3

Selects hardware floating-point unit conforming to architecture VFPv3.

vfpv3_fp16

Selects hardware floating-point unit conforming to architecture VFPv3 with half-precision floating-point extension.

vfpv3_d16

Selects hardware floating-point unit conforming to architecture VFPv3-D16.

vfpv3_d16_fp16

Selects hardware floating-point unit conforming to architecture VFPv3-D16 with half-precision floating-point extension.

vfpv4

Selects hardware floating-point unit conforming to architecture VFPv4.

vfpv4_d16

Selects hardware floating-point unit conforming to architecture VFPv4-D16.

fpv4_sp

Selects hardware floating-point unit conforming to the single precision variant of architecture FPv4.

vfpv2

Selects hardware floating-point unit conforming to architecture VFPv2.

softvfp

Selects software floating-point linkage. This is the default if you do not specify a --fpu option and the --cpu option selected does not imply a particular FPU.

softvfp+vfpv2

Selects a floating-point library with software floating-point linkage that uses VFP instructions.

This is otherwise equivalent to using --fpu vfpv2.

softvfp+vfpv3

Selects a floating-point library with software floating-point linkage that uses VFP instructions.

This is otherwise equivalent to using --fpu vfpv3.

softvfp+vfpv3_fp16

Selects a floating-point library with software floating-point linkage that uses VFP instructions.

This is otherwise equivalent to using --fpu vfpv3_fp16.

softvfp+vfpv3_d16

Selects a floating-point library with software floating-point linkage that uses VFP instructions.

This is otherwise equivalent to using --fpu vfpv3_d16.

softvfp+vfpv3_d16_fp16

Selects a floating-point library with software floating-point linkage that uses VFP instructions.

This is otherwise equivalent to using --fpu vfpv3_d16_fp16.

softvfp+vfpv4

Selects a floating-point library with software floating-point linkage that uses VFP instructions.

This is otherwise equivalent to using --fpu vfpv4.

softvfp+vfpv4_d16

Selects a floating-point library with software floating-point linkage that uses VFP instructions.

This is otherwise equivalent to using --fpu vfpv4_d16.

softvfp+fpv4_sp

Selects a floating-point library with software floating-point linkage that uses VFP instructions.

This is otherwise equivalent to using --fpu fpv4_sp.

See the Linker User Guide for full details of the effect of these values on software library selection at link time.

Obtaining a list of valid FPU names

You can obtain a list of valid FPU names by invoking the assembler with the following command:

armasm --fpu list
Copyright © 2002-2010 ARM. All rights reserved.ARM DUI 0204J
Non-ConfidentialID101213