Floating-point class tests, supported by 'is_fpclass' intrinsic. Actual test may be an OR combination of basic tests.
Declared in <llvm/ADT/FloatingPointMode.h>
enum FPClassTest : unsigned int;
| Name | Description |
|---|---|
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. |
| Name | Description |
|---|---|
cannotOrderStrictlyGreater | Returns 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. |
cannotOrderStrictlyGreaterEq | Returns 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. |
cannotOrderStrictlyLess | Returns 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. |
cannotOrderStrictlyLessEq | Returns 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. |
fneg | Return the test mask which returns true if the value's sign bit is flipped. |
inverse_fabs | Return the test mask which returns true after fabs is applied to the value. |
invertFPClassTestIfSimpler | Return an inverted FP class test when inversion is cheaper to lower. |
orderedStrictlyGreater | Return all FP classes strictly greater than every value in Mask. |
orderedStrictlyLess | Return all FP classes strictly less than every value in Mask. |
unknown_sign | Return the test mask which returns true if the value could have the same set of classes, but with a different sign. |
MIPatternMatch::m_FPClassTest | Binds the matched FP class test to T. |