11.1 Floating-point Calling Conventions

For the Cortex-M based devices, such as the MEC17, CEC17, and SAM families, XC32 defaults to using the hardware Floating-Point Unit (FPU) where available. For cases where a specific FPU calling convention is required, you can specify the following options. These must be issued at both compile and link time.
-mfloat-abi=soft
Specifying 'soft' causes XC32 to generate output containing library calls for floating-point operations. This setting is the default for devices that do not feature a hardware FPU.
-mfloat-abi=softfp
Specifying 'softfp' allows the generation of code using hardware floating-point instructions, but still uses the soft-float calling conventions.
-mfloat-abi=hard
Specifying 'hard' allows generation of floating-point instructions and uses FPU-specific calling conventions. This setting is the default for devices that feature a hardware FPU.