[fpc-devel] ARM: problem with uses VFP instructions
Jonas Maebe
jonas.maebe at elis.ugent.be
Wed Dec 2 15:41:38 CET 2009
On 02 Dec 2009, at 15:17, Dariusz Mazur wrote:
> *
>
> __VFP_FP__ means that the floating point format in use is that of
> the ARM VFP unit, which is native-endian IEEE-754.
>
> *
>
> __MAVERICK__ means that the floating point format is that of the
> irrus Logic MaverickCrunch
> <http://wiki.debian.org/MaverickCrunch>, which is also IEEE-754
> and is always little-endian.
>
> *
>
> __SOFTFP__ means that instead of floating point instructions,
> library calls are being generated for floating point math
> operations so that the code will run on a processor without an
> FPU.
>
> __VFP_FP__ and __MAVERICK__ are mutually exclusive. If neither is
> set, that means the floating point format in use is the old mixed-
> endian 45670123 format of the FPA unit.
>
> Note that __VFP_FP__ does /not/ mean that VFP code generation has
> been selected. It only speaks of the floating point data format in
> use and is normally set when softfloat has been selected. The
> correct test for VFP code generation, for example around asm
> fragments containing VFP instructions, is
>
>
> My question is: which variant use FPC
By default, on ARM/EABI FPC uses native-endian IEEE-754, but uses
library calls (to internal code in the RTL) to emulate the floating
point operations. So it's a combination of __VFP_FP__ and __SOFTFP__.
Jonas
More information about the fpc-devel
mailing list