llvm::FPClassTest

Floating-point class tests, supported by 'is_fpclass' intrinsic. Actual test may be an OR combination of basic tests.

Synopsis

Declared in <llvm/ADT/FloatingPointMode.h>

enum FPClassTest : unsigned int;

Members

NameDescription
fcNone Match no floating-point classes.
fcSNan Signaling NaN.
fcQNan Quiet NaN.
fcNegInf Negative infinity.
fcNegNormal Negative normal number.
fcNegSubnormal Negative subnormal number.
fcNegZero Negative zero.
fcPosZero Positive zero.
fcPosSubnormal Positive subnormal number.
fcPosNormal Positive normal number.
fcPosInf Positive infinity.
fcNan Any NaN (signaling or quiet).
fcInf Positive or negative infinity.
fcNormal Positive or negative normal number.
fcSubnormal Positive or negative subnormal number.
fcZero Positive or negative zero.
fcPosFinite Any finite positive value (normal, subnormal, or zero).
fcNegFinite Any finite negative value (normal, subnormal, or zero).
fcFinite Any finite value of either sign.
fcPositive Any positive value including +infty.
fcNegative Any negative value including -infty.
fcAllFlags Union of all class test flags.

Non-Member Functions

NameDescription
cannotOrderStrictlyGreaterReturns true if all values in LHS must be less than or equal to those in RHS. That is, the comparison fcmp ogt LHS, RHS will always return false.
cannotOrderStrictlyGreaterEqReturns true if all values in LHS must be less than those in RHS. That is, the comparison fcmp oge LHS, RHS will always return false.
cannotOrderStrictlyLessReturns true if all values in LHS must be greater than or equal to those in RHS. That is, the comparison fcmp olt LHS, RHS will always return false.
cannotOrderStrictlyLessEqReturns true if all values in LHS must be greater than to those in RHS. That is, the comparison fcmp ole LHS, RHS will always return false.
fnegReturn the test mask which returns true if the value's sign bit is flipped.
inverse_fabsReturn the test mask which returns true after fabs is applied to the value.
invertFPClassTestIfSimplerReturn an inverted FP class test when inversion is cheaper to lower.
orderedStrictlyGreaterReturn all FP classes strictly greater than every value in Mask.
orderedStrictlyLessReturn all FP classes strictly less than every value in Mask.
unknown_signReturn the test mask which returns true if the value could have the same set of classes, but with a different sign.
MIPatternMatch::m_FPClassTestBinds the matched FP class test to T.