SPRUJG0C December 2024 – October 2026 F29H850DM , F29H850TU , F29H859TU-Q1 , F29P329SM-Q1 , F29P589DM-Q1 , F29P589DU-Q1
If FPU64 is available (CPU3 on F29H85x), double-precision floating point operations can be efficiently performed. Without this, double-precision floating point operations need to be implemented using integer instructions on the CPU. They cannot be implemented using FPU32 instructions, since single-precision and double-precision floating point formats are different. To enable use of the FPU64, use the compiler option:
-mfpu=f64On the C29, EABI is the only supported executable format. COFF is not supported. With EABI, the double type is 64-bits. User code that contains literal constants (1.54) without a trailing 'f' (1.54f) is interpreted as double-precision per the C standard. This leads to implicit conversion of other associated variables to double-precision, which negatively impacts performance when FPU64 is not available (CPU3 on F29H85x).
Using the following compiler option generates warnings when the above promotion to double-precision occurs:
-Wdouble-promotionThe following compiler option can be used to limit floating-point constants to single-precision. This eliminates the need to add a trailing 'f' to every floating-point constant. However, with this approach, all floating-point constants become single-precision.
-cl-single-precision-constant