LLVM 23.0.0git
FloatingPointMode.h File Reference

Utilities for dealing with flags related to floating point properties and mode controls. More...

Go to the source code of this file.

Classes

struct  llvm::DenormalMode
 Represent subnormal handling kind for floating point instruction inputs and outputs. More...

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Enumerations

enum class  llvm::RoundingMode : int8_t {
  llvm::TowardZero = 0 , llvm::NearestTiesToEven = 1 , llvm::TowardPositive = 2 , llvm::TowardNegative = 3 ,
  llvm::NearestTiesToAway = 4 , llvm::Dynamic = 7 , llvm::Invalid = -1
}
 Rounding mode. More...
enum  llvm::FPClassTest : unsigned {
  llvm::fcNone = 0 , llvm::fcSNan = 0x0001 , llvm::fcQNan = 0x0002 , llvm::fcNegInf = 0x0004 ,
  llvm::fcNegNormal = 0x0008 , llvm::fcNegSubnormal = 0x0010 , llvm::fcNegZero = 0x0020 , llvm::fcPosZero = 0x0040 ,
  llvm::fcPosSubnormal = 0x0080 , llvm::fcPosNormal = 0x0100 , llvm::fcPosInf = 0x0200 , llvm::fcNan = fcSNan | fcQNan ,
  llvm::fcInf = fcPosInf | fcNegInf , llvm::fcNormal = fcPosNormal | fcNegNormal , llvm::fcSubnormal = fcPosSubnormal | fcNegSubnormal , llvm::fcZero = fcPosZero | fcNegZero ,
  llvm::fcPosFinite = fcPosNormal | fcPosSubnormal | fcPosZero , llvm::fcNegFinite = fcNegNormal | fcNegSubnormal | fcNegZero , llvm::fcFinite = fcPosFinite | fcNegFinite , llvm::fcPositive = fcPosFinite | fcPosInf ,
  llvm::fcNegative = fcNegFinite | fcNegInf , llvm::fcAllFlags = fcNan | fcInf | fcFinite
}
 Floating-point class tests, supported by 'is_fpclass' intrinsic. More...

Functions

StringRef llvm::spell (RoundingMode RM)
 Returns text representation of the given rounding mode.
raw_ostreamllvm::operator<< (raw_ostream &OS, RoundingMode RM)
raw_ostreamllvm::operator<< (raw_ostream &OS, DenormalMode Mode)
DenormalMode::DenormalModeKind llvm::parseDenormalFPAttributeComponent (StringRef Str)
 Parse the expected names from the denormal-fp-math attribute.
StringRef llvm::denormalModeKindName (DenormalMode::DenormalModeKind Mode)
 Return the name used for the denormal handling mode used by the expected names from the denormal-fp-math attribute.
DenormalMode llvm::parseDenormalFPAttribute (StringRef Str)
 Returns the denormal mode to use for inputs and outputs.
 llvm::LLVM_DECLARE_ENUM_AS_BITMASK (FPClassTest, fcPosInf)
LLVM_ABI FPClassTest llvm::fneg (FPClassTest Mask)
 Return the test mask which returns true if the value's sign bit is flipped.
LLVM_ABI FPClassTest llvm::inverse_fabs (FPClassTest Mask)
 Return the test mask which returns true after fabs is applied to the value.
LLVM_ABI FPClassTest llvm::unknown_sign (FPClassTest Mask)
 Return the test mask which returns true if the value could have the same set of classes, but with a different sign.
LLVM_ABI raw_ostreamllvm::operator<< (raw_ostream &OS, FPClassTest Mask)
 Write a human readable form of Mask to OS.
LLVM_ABI bool llvm::cannotOrderStrictlyGreater (FPClassTest LHS, FPClassTest RHS, bool OrderedZeroSign=false)
 Returns true if all values in LHS must be less than or equal to those in RHS.
LLVM_ABI bool llvm::cannotOrderStrictlyGreaterEq (FPClassTest LHS, FPClassTest RHS, bool OrderedZeroSign=false)
 Returns true if all values in LHS must be less than those in RHS.
LLVM_ABI bool llvm::cannotOrderStrictlyLess (FPClassTest LHS, FPClassTest RHS, bool OrderedZeroSign=false)
 Returns true if all values in LHS must be greater than or equal to those in RHS.
LLVM_ABI bool llvm::cannotOrderStrictlyLessEq (FPClassTest LHS, FPClassTest RHS, bool OrderedZeroSign=false)
 Returns true if all values in LHS must be greater than to those in RHS.

Detailed Description

Utilities for dealing with flags related to floating point properties and mode controls.

Definition in file FloatingPointMode.h.