Difference between revisions of "GCC floating-point options"
m |
m |
||
Line 32: | Line 32: | ||
|- |
|- |
||
| ''neon'' || Enables the ARMv7 VFPv3 floating-point extension and the Advanced SIMD extension. |
| ''neon'' || Enables the ARMv7 VFPv3 floating-point extension and the Advanced SIMD extension. |
||
+ | |- |
||
+ | | ''neon-fp16'' || Enables the ARMv7 VFPv3 floating-point extension, including the optional half-precision extensions, and the Advanced SIMD extension. |
||
|- |
|- |
||
| ''vfpv4'' || Enables the ARMv7 VFPv4 floating-point extension. |
| ''vfpv4'' || Enables the ARMv7 VFPv4 floating-point extension. |
||
Line 40: | Line 42: | ||
|- |
|- |
||
| ''fpv4-sp-d16'' || Enables the ARMv7 FPv4-SP-D16 floating-point extension. |
| ''fpv4-sp-d16'' || Enables the ARMv7 FPv4-SP-D16 floating-point extension. |
||
+ | |- |
||
+ | | ''fpv5-d16'' || Enables the ARMv7 FPv5-D16 floating-point extension. |
||
+ | |- |
||
+ | | ''fpv5-sp-d16'' || Enables the ARMv7 FPv5-SP-D16 floating-point extension. |
||
|- |
|- |
||
| ''fp-armv8'' || Enables the ARMv8 floating-point extension. |
| ''fp-armv8'' || Enables the ARMv8 floating-point extension. |
Revision as of 15:33, 30 March 2020
The GNU C Compiler produces binaries with several options in regards to floating-point operations:
Compiler flag | Description | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
-mfloat-abi=<value> (-mhard-float) (-msoft-float) |
Specifies which floating-point ABI to use. Permissible values are:
The hard-float and soft-float ABIs are not link-compatible. You must compile your entire program with the same ABI and link with a compatible set of libraries. | ||||||||||||||||||||||||||||||||||
-mfpu=<value> (-mfp=<value>) (-mfpe=<value>) |
Specifies the available floating-point hardware on the target. Permissible values include:
Has no effect when -mfloat-abi=soft is specified. |
embOS for GCC typically is shipped with distinct sets of libraries for each floating-point ABI. While there is no immediate effect on embOS itself, this allows for compalibity with all applications and third-party libraries customers may utilize.