15 #ifndef LLVM_CODEGEN_MACHINEVALUETYPE_H
16 #define LLVM_CODEGEN_MACHINEVALUETYPE_H
261 return !(NElts & (NElts - 1));
338 case v64i8:
return 64;
352 case v8f64:
return 8;
360 case v4f64:
return 4;
368 case v2f64:
return 2;
375 case v1f64:
return 1;
405 case v1i16:
return 16;
413 case v1i32:
return 32;
424 case v1f64:
return 64;
425 case f80 :
return 80;
436 case v2f64:
return 128;
442 case v4f64:
return 256;
448 case v8f64:
return 512;
601 struct mvt_iterator {
605 bool operator!=(
const mvt_iterator &LHS)
const {
return VT != LHS.VT; }
606 mvt_iterator& operator++() {
609 "MVT iterator overflowed.");
614 typedef iterator_range<mvt_iterator> mvt_range;
bool is16BitVector() const
is16BitVector - Return true if this is a 16-bit vector type.
static MVT getIntegerVT(unsigned BitWidth)
unsigned Log2_32_Ceil(uint32_t Value)
Log2_32_Ceil - This function returns the ceil log base 2 of the specified value, 32 if the value is z...
bool is1024BitVector() const
is1024BitVector - Return true if this is a 1024-bit vector type.
static MVT getVectorVT(MVT VT, unsigned NumElements)
This provides a very simple, boring adaptor for a begin and end iterator into a range type...
unsigned getScalarSizeInBits() const
bool is512BitVector() const
is512BitVector - Return true if this is a 512-bit vector type.
bool operator>=(const MVT &S) const
static MVT getFloatingPointVT(unsigned BitWidth)
unsigned getSizeInBits() const
LLVM_CONSTEXPR MVT(SimpleValueType SVT)
bool is32BitVector() const
is32BitVector - Return true if this is a 32-bit vector type.
bool bitsLT(MVT VT) const
Return true if this has less bits than VT.
bool bitsLE(MVT VT) const
Return true if this has no more bits than VT.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
bool operator!=(const MVT &S) const
MVT getScalarType() const
getScalarType - If this is a vector type, return the element type, otherwise return this...
unsigned getStoreSize() const
getStoreSize - Return the number of bytes overwritten by a store of the specified value type...
bool bitsGE(MVT VT) const
Return true if this has no less bits than VT.
bool operator==(const MVT &S) const
static mvt_range integer_vector_valuetypes()
bool operator<(const MVT &S) const
static mvt_range fp_vector_valuetypes()
bool isInteger() const
isInteger - Return true if this is an integer, or a vector integer type.
unsigned getVectorNumElements() const
MVT - Machine Value Type.
The instances of the Type class are immutable: once they are created, they are never changed...
bool isVector() const
isVector - Return true if this is a vector value type.
bool operator<=(const MVT &S) const
bool isFloatingPoint() const
isFloatingPoint - Return true if this is a FP, or a vector FP type.
bool isPow2VectorType() const
isPow2VectorType - Returns true if the given vector is a power of 2.
static mvt_range fp_valuetypes()
static mvt_range vector_valuetypes()
static MVT getVT(Type *Ty, bool HandleUnknown=false)
Return the value type corresponding to the specified type.
bool isOverloaded() const
isOverloaded - Return true if this is an overloaded type for TableGen.
BlockMass operator*(const BlockMass &L, const BranchProbability &R)
bool is64BitVector() const
is64BitVector - Return true if this is a 64-bit vector type.
static mvt_range integer_valuetypes()
bool is128BitVector() const
is128BitVector - Return true if this is a 128-bit vector type.
A range adaptor for a pair of iterators.
static mvt_range all_valuetypes()
SimpleValueType Iteration.
bool isValid() const
isValid - Return true if this is a valid simple valuetype.
bool is256BitVector() const
is256BitVector - Return true if this is a 256-bit vector type.
unsigned getStoreSizeInBits() const
getStoreSizeInBits - Return the number of bits overwritten by a store of the specified value type...
bool operator>(const MVT &S) const
bool bitsGT(MVT VT) const
Return true if this has more bits than VT.
MVT getPow2VectorType() const
getPow2VectorType - Widens the length of the given vector MVT up to the nearest power of 2 and return...
MVT getVectorElementType() const