14 #ifndef LLVM_LIB_TARGET_VE_VE_H 15 #define LLVM_LIB_TARGET_VE_VE_H 24 class VETargetMachine;
25 class formatted_raw_ostream;
298 return static_cast<unsigned>(R);
357 if (Val & (1UL << 63))
366 if ((Val & 0x40) == 0)
367 return (uint64_t)((1L << 63) >> (Val & 0x3f));
368 return ((uint64_t)(-1L) >> (Val & 0x3f));
371 inline unsigned M0(
unsigned Val) {
return Val + 64; }
372 inline unsigned M1(
unsigned Val) {
return Val; }
static VECC::CondCode stringToVEFCondCode(StringRef S)
This class represents lattice values for constants.
unsigned M1(unsigned Val)
unsigned countLeadingOnes(T Value, ZeroBehavior ZB=ZB_Width)
Count the number of ones from the most significant bit to the first zero bit.
static VERD::RoundingMode VEValToRD(unsigned Val)
constexpr bool isMask_32(uint32_t Value)
Return true if the argument is a non-empty sequence of ones starting at the least significant bit wit...
StringSwitch & Case(StringLiteral S, T Value)
FunctionPass * createLVLGenPass()
static bool isMImm32Val(uint32_t Val)
unsigned M0(unsigned Val)
LLVM_NODISCARD R Default(T Value)
constexpr bool isMask_64(uint64_t Value)
Return true if the argument is a non-empty sequence of ones starting at the least significant bit wit...
static VERD::RoundingMode stringToVERD(StringRef S)
A switch()-like statement whose cases are string literals.
static bool isMImmVal(uint64_t Val)
FunctionPass * createVEISelDag(VETargetMachine &TM)
createVEISelDag - This pass converts a legalized DAG into a VE-specific DAG, ready for instruction sc...
unsigned countLeadingZeros(T Val, ZeroBehavior ZB=ZB_Width)
Count number of 0's from the most significant bit to the least stopping at the first 1.
static const char * VECondCodeToString(VECC::CondCode CC)
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
static uint64_t val2MImm(uint64_t Val)
val2MImm - Convert an integer immediate value to target MImm immediate.
static const char * VERDToString(VERD::RoundingMode R)
static uint64_t mimm2Val(uint64_t Val)
mimm2Val - Convert a target MImm immediate to an integer immediate value.
static VECC::CondCode VEValToCondCode(unsigned Val, bool IsInteger)
constexpr bool isShiftedMask_64(uint64_t Value)
Return true if the argument contains a non-empty sequence of ones with the remainder zero (64 bit ver...
void LowerVEMachineInstrToMCInst(const MachineInstr *MI, MCInst &OutMI, AsmPrinter &AP)
static unsigned VERDToVal(VERD::RoundingMode R)
FunctionPass * createVEPromoteToI1Pass()
static VECC::CondCode stringToVEICondCode(StringRef S)
constexpr bool isShiftedMask_32(uint32_t Value)
Return true if the argument contains a non-empty sequence of ones with the remainder zero (32 bit ver...
StringRef - Represent a constant reference to a string, i.e.
static unsigned VECondCodeToVal(VECC::CondCode CC)