SPRUJG0B December 2024 – November 2025 F29H850TU , F29H859TU-Q1
-ffast-math is a compiler option that is recommended for floating-point computations. This option is a collection of several options, of which the two that significantly improve performance are -fapprox-funcs and -freassoc. It lets the compiler make aggressive assumptions about floating-point math, resulting in limited loss in accuracy. Details on controlling floating-point behavior can be found in the Clang Compiler User's manual and in the C29 Clang Compiler Tools User's Guide. Details on -ffast-math can also be found in the Clang Compiler User's manual and in the C29 Clang Compiler Tools User's Guide.
With -ffast-math, the compiler replaces calls to many standard RTS library functions with the corresponding TMU instruction. The TMU is built into the C29 CPU.
Single-precision floating-point division using the C '/' operator is implemented using PREDIVF, SUBC4F (7 times), and POSTDIVF instructions. Double-precision floating-point division using the C '/' operator is implemented using PREDIVF, SUBC3F (19 times), and POSTDIVF instructions. With the -ffast-math compiler option, single-precision floating-point division is implemented using the DIVF instruction (which estimates the reciprocal of the denominator and multiplies with the numerator).