Blue Gene specific options

-qfloat=[rngchk | norngchk]

At optimization level -O3 and above, and without -qstrict, controls whether range checking is performed for input arguments for software divide and inlined square root operations.

Arguments

rngchk | norngchk
Specifying -qfloat=norngchk instructs the compiler to skip range checking, allowing for increased performance where division and square root operations are performed repeatedly within a loop. The -qfloat=norngchk option also generates Blue Gene-specific sequences for complex 1/x. However, if real(x)^2 + imag(x)^2 overflows, a NaN is returned.

Note that with -qfloat=norngchk in effect, the divisor of a division operation must not be 0.0, +/- INF, or denormalized values, and the input for sqrt must not be INF; otherwise incorrect results may be produced. For example, if the divisor for a division operation is 0.0 or a denormalized number (absolute value < 2^(-1022) for double precision, and absolute value < 2^(-126) for single precision), NaN, instead of INF, may result; when the divisor is +/- INF, NaN, instead of 0.0, may result. If the input is +INF for a sqrt operation, NaN, rather than INF, may result.

-qfloat=norngchk is only allowed when -qnostrict is in effect. If -qstrict is in effect, -qfloat=norngchk is ignored.