LLVM: llvm::AArch64CC Namespace Reference (original) (raw)

Enumerations
enum CondCode { EQ = 0x0 , NE = 0x1 , HS = 0x2 , LO = 0x3 , MI = 0x4 , PL = 0x5 , VS = 0x6 , VC = 0x7 , HI = 0x8 , LS = 0x9 , GE = 0xa , LT = 0xb , GT = 0xc , LE = 0xd , AL = 0xe , NV = 0xf , Invalid, ANY_ACTIVE = NE , FIRST_ACTIVE = MI , LAST_ACTIVE = LO , NONE_ACTIVE = EQ }
Functions
static const char * getCondCodeName (CondCode Code)
static CondCode getInvertedCondCode (CondCode Code)
static CondCode getSwappedCondition (CondCode CC)
getSwappedCondition - assume the flags are set by MI(a,b), return the condition code if we modify the instructions such that flags are set by MI(b,a).
static unsigned getNZCVToSatisfyCondCode (CondCode Code)
Given a condition code, return NZCV flags that would satisfy that condition.
static bool isValidCBCond (AArch64CC::CondCode Code)
True, if a given condition code can be used in a fused compare-and-branch instructions, false otherwise.

CondCode

Enumerator
EQ
NE
HS
LO
MI
PL
VS
VC
HI
LS
GE
LT
GT
LE
AL
NV
Invalid
ANY_ACTIVE
FIRST_ACTIVE
LAST_ACTIVE
NONE_ACTIVE

Definition at line 254 of file AArch64BaseInfo.h.

getCondCodeName()

const char * llvm::AArch64CC::getCondCodeName ( CondCode Code) inlinestatic

Definition at line 281 of file AArch64BaseInfo.h.

References AL, EQ, GE, GT, HI, HS, LE, llvm_unreachable, LO, LS, LT, MI, NE, NV, PL, VC, and VS.

Referenced by llvm::AArch64InstPrinter::printCondCode(), and llvm::AArch64InstPrinter::printInverseCondCode().

getInvertedCondCode()

CondCode llvm::AArch64CC::getInvertedCondCode ( CondCode Code) inlinestatic

Definition at line 303 of file AArch64BaseInfo.h.

Referenced by emitConditionalComparison(), emitConjunctionRec(), foldCSELOfCSEL(), getAArch64Cmp(), llvm::AArch64InstrInfo::insertSelect(), isSetCC(), llvm::AArch64InstrInfo::optimizeCondBranch(), performAddCSelIntoCSinc(), performANDORCSELCombine(), performANDSETCCCombine(), performSetccAddFolding(), llvm::AArch64InstPrinter::printInverseCondCode(), and llvm::AArch64InstrInfo::reverseBranchCondition().

getNZCVToSatisfyCondCode()

unsigned llvm::AArch64CC::getNZCVToSatisfyCondCode ( CondCode Code) inlinestatic

Given a condition code, return NZCV flags that would satisfy that condition.

The flag bits are in the format expected by the ccmp instructions. Note that many different flag settings can satisfy a given condition code, this function just returns one of them.

Definition at line 343 of file AArch64BaseInfo.h.

References llvm::CallingConv::C, EQ, GE, GT, HI, HS, LE, llvm_unreachable, LO, LS, LT, MI, N, NE, PL, VC, and VS.

Referenced by emitConditionalComparison(), and performANDORCSELCombine().

getSwappedCondition()

CondCode llvm::AArch64CC::getSwappedCondition ( CondCode CC) inlinestatic

getSwappedCondition - assume the flags are set by MI(a,b), return the condition code if we modify the instructions such that flags are set by MI(b,a).

Definition at line 312 of file AArch64BaseInfo.h.

References AL, EQ, GE, GT, HI, HS, LE, LO, LS, LT, and NE.

isValidCBCond()

bool llvm::AArch64CC::isValidCBCond ( AArch64CC::CondCode Code) inlinestatic

True, if a given condition code can be used in a fused compare-and-branch instructions, false otherwise.

Definition at line 367 of file AArch64BaseInfo.h.

References EQ, GE, GT, HI, HS, LE, LO, LS, LT, and NE.