Floating-Point Exception Modes

Systems based on the DIGITAL Alpha processor do not support nonfinite floating-point values (denormals, infinity, and NaN) in hardware. The Alpha processor has two ways of delivering exceptions raised by these values:

The default exception behavior of the compiler is as follows:

This default results in faster operation for C and C++ applications and provides correct floating-point exception handling for both C structured exception handling and C++ exception handling.

This default is not adequate, however, for applications that need to identify the precise machine instruction that caused the exception, and/or use nonfinite values (see previous section). Both of these types of applications must use precise exceptions, which, because of the overhead involved, causes all floating-point operations to slow down. The /QApe compiler option enables precise exceptions for the exceptions specified above.