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 69 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 72 of file FloatingPointMode.h.
|
constexprdefault |
Referenced by getIEEE(), getInvalid(), getPositiveZero(), and getPreserveSign().
|
inlineconstexpr |
Definition at line 95 of file FloatingPointMode.h.
|
inlinestaticconstexpr |
Definition at line 103 of file FloatingPointMode.h.
References DenormalMode(), and IEEE.
Referenced by llvm::AMDGPU::SIModeRegisterDefaults::allFP32Denormals(), llvm::AMDGPU::SIModeRegisterDefaults::allFP64FP16Denormals(), and fpModeMatchesGlobalFPAtomicMode().
|
inlinestaticconstexpr |
Definition at line 99 of file FloatingPointMode.h.
References DenormalMode(), and Invalid.
|
inlinestaticconstexpr |
Definition at line 112 of file FloatingPointMode.h.
References DenormalMode(), and PositiveZero.
|
inlinestaticconstexpr |
Definition at line 107 of file FloatingPointMode.h.
References DenormalMode(), and PreserveSign.
Referenced by llvm::AMDGPU::SIModeRegisterDefaults::fpDenormModeDPValue(), llvm::AMDGPU::SIModeRegisterDefaults::fpDenormModeSPValue(), and fpModeMatchesGlobalFPAtomicMode().
|
inline |
Definition at line 125 of file FloatingPointMode.h.
|
inline |
Definition at line 129 of file FloatingPointMode.h.
|
inline |
Definition at line 121 of file FloatingPointMode.h.
References llvm::Other.
|
inline |
Definition at line 117 of file FloatingPointMode.h.
References Input, llvm::Other, and Output.
|
inline |
Definition at line 191 of file FloatingPointMode.h.
References llvm::denormalModeKindName(), Input, and Output.
Referenced by str().
|
inline |
Definition at line 136 of file FloatingPointMode.h.
References print(), and llvm::raw_string_ostream::str().
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 92 of file FloatingPointMode.h.
Referenced by llvm::FlushFPConstant(), llvm::AMDGPU::SIModeRegisterDefaults::fpDenormModeDPValue(), llvm::AMDGPU::SIModeRegisterDefaults::fpDenormModeSPValue(), llvm::AMDGPU::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 87 of file FloatingPointMode.h.
Referenced by llvm::FlushFPConstant(), llvm::AMDGPU::SIModeRegisterDefaults::fpDenormModeDPValue(), llvm::AMDGPU::SIModeRegisterDefaults::fpDenormModeSPValue(), llvm::AMDGPU::SIModeRegisterDefaults::isInlineCompatible(), isSimple(), isValid(), operator==(), llvm::GCNTargetMachine::parseMachineFunctionInfo(), print(), and llvm::NVPTXTargetLowering::useF32FTZ().