|
LLVM 22.0.0git
|
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. | |
| 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.
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().
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().