/QRfpe- Enable Hardware Floating-Point Targeting (Compact 7)


This option specifies that the compiler generate code that targets the vector floating-point (VFP) hardware on ARM family processors. If you are developing an application that targets an OS that utilizes VFP, you might need to specify that the OS must either be in RunFast mode or support instruction bouncing.

When you use the /QRfpe option, the compiler will implement floating-point math with helper functions. In Windows Embedded CE 6.0, the default implementations of these helper functions used integer math, so it was useful to replace the standard floating-point C run-time library, Fpcrt.dll, with a more efficient version if the VFP was available. In Windows Embedded Compact 7 the Fpcrt.dll dynamically detects the VFP and uses it if it is present, so there is no advantage in replacing it.

For platforms without VFP hardware, use the flag ENABLE_HARDWARE_FLOAT=0 or /QRfpe- so the compiler will generate code that handles floating-point operations using integer arithmetic. Since the ARMv6 build always assumes that VFP is supported, use the ARMv5 build option for platforms without VFP. For more information, see /QRarch - Specify Target Architecture.

The compiler will not use NEON instructions unless NEON intrinsics are used in source code. NEON intrinsics are declared in arm_neon.h. Some Windows Embedded Compact 7 codecs check for the presence of NEON at runtime.