LLVM 17.0.0git
|
Represent subnormal handling kind for floating point instruction inputs and outputs. More...
#include "llvm/ADT/FloatingPointMode.h"
Public Types | |
enum | DenormalModeKind : int8_t { Invalid = -1 , IEEE , PreserveSign , PositiveZero } |
Represent handled modes for denormal (aka subnormal) modes in the floating point environment. More... | |
Public Member Functions | |
constexpr | DenormalMode ()=default |
constexpr | DenormalMode (DenormalModeKind Out, DenormalModeKind In) |
bool | operator== (DenormalMode Other) const |
bool | operator!= (DenormalMode Other) const |
bool | isSimple () const |
bool | isValid () const |
void | print (raw_ostream &OS) const |
std::string | str () const |
Static Public Member Functions | |
static constexpr DenormalMode | getInvalid () |
static constexpr DenormalMode | getIEEE () |
static constexpr DenormalMode | getPreserveSign () |
static constexpr DenormalMode | getPositiveZero () |
Public Attributes | |
DenormalModeKind | Output = DenormalModeKind::Invalid |
Denormal flushing mode for floating point instruction results in the default floating point environment. | |
DenormalModeKind | Input = DenormalModeKind::Invalid |
Denormal treatment kind for floating point instruction inputs in the default floating-point environment. | |
Represent subnormal handling kind for floating point instruction inputs and outputs.
Definition at line 70 of file FloatingPointMode.h.
enum llvm::DenormalMode::DenormalModeKind : int8_t |
Represent handled modes for denormal (aka subnormal) modes in the floating point environment.
Enumerator | |
---|---|
Invalid | |
IEEE | IEEE-754 denormal numbers preserved. |
PreserveSign | The sign of a flushed-to-zero number is preserved in the sign of 0. |
PositiveZero | Denormals are flushed to positive zero. |
Definition at line 73 of file FloatingPointMode.h.
|
constexprdefault |
Referenced by getIEEE(), getInvalid(), getPositiveZero(), and getPreserveSign().
|
inlineconstexpr |
Definition at line 96 of file FloatingPointMode.h.
|
inlinestaticconstexpr |
Definition at line 104 of file FloatingPointMode.h.
References DenormalMode(), and IEEE.
Referenced by llvm::SIModeRegisterDefaults::allFP32Denormals(), llvm::SIModeRegisterDefaults::allFP64FP16Denormals(), and fpModeMatchesGlobalFPAtomicMode().
|
inlinestaticconstexpr |
Definition at line 100 of file FloatingPointMode.h.
References DenormalMode(), and Invalid.
|
inlinestaticconstexpr |
Definition at line 113 of file FloatingPointMode.h.
References DenormalMode(), and PositiveZero.
|
inlinestaticconstexpr |
Definition at line 108 of file FloatingPointMode.h.
References DenormalMode(), and PreserveSign.
Referenced by llvm::SIModeRegisterDefaults::fpDenormModeDPValue(), llvm::SIModeRegisterDefaults::fpDenormModeSPValue(), and fpModeMatchesGlobalFPAtomicMode().
|
inline |
Definition at line 126 of file FloatingPointMode.h.
|
inline |
Definition at line 130 of file FloatingPointMode.h.
|
inline |
Definition at line 122 of file FloatingPointMode.h.
References llvm::Other.
|
inline |
Definition at line 118 of file FloatingPointMode.h.
References Input, llvm::Other, and Output.
|
inline |
Definition at line 192 of file FloatingPointMode.h.
References llvm::denormalModeKindName(), Input, OS, and Output.
Referenced by str().
|
inline |
Definition at line 137 of file FloatingPointMode.h.
DenormalModeKind llvm::DenormalMode::Input = DenormalModeKind::Invalid |
Denormal treatment kind for floating point instruction inputs in the default floating-point environment.
If this is not DenormalModeKind::IEEE, floating-point instructions implicitly treat the input value as 0.
Definition at line 93 of file FloatingPointMode.h.
Referenced by llvm::FlushFPConstant(), llvm::SIModeRegisterDefaults::fpDenormModeDPValue(), llvm::SIModeRegisterDefaults::fpDenormModeSPValue(), llvm::SIModeRegisterDefaults::isInlineCompatible(), isSimple(), isValid(), operator==(), llvm::GCNTargetMachine::parseMachineFunctionInfo(), and print().
DenormalModeKind llvm::DenormalMode::Output = DenormalModeKind::Invalid |
Denormal flushing mode for floating point instruction results in the default floating point environment.
Definition at line 88 of file FloatingPointMode.h.
Referenced by llvm::FlushFPConstant(), llvm::SIModeRegisterDefaults::fpDenormModeDPValue(), llvm::SIModeRegisterDefaults::fpDenormModeSPValue(), llvm::SIModeRegisterDefaults::isInlineCompatible(), isSimple(), isValid(), operator==(), llvm::GCNTargetMachine::parseMachineFunctionInfo(), print(), and llvm::NVPTXTargetLowering::useF32FTZ().