Changeset View
Changeset View
Standalone View
Standalone View
llvm/trunk/lib/Target/Hexagon/HexagonSubtarget.h
Show First 20 Lines • Show All 222 Lines • ▼ Show 20 Lines | public: | ||||
} | } | ||||
ArrayRef<MVT> getHVXElementTypes() const { | ArrayRef<MVT> getHVXElementTypes() const { | ||||
static MVT Types[] = { MVT::i8, MVT::i16, MVT::i32 }; | static MVT Types[] = { MVT::i8, MVT::i16, MVT::i32 }; | ||||
return makeArrayRef(Types); | return makeArrayRef(Types); | ||||
} | } | ||||
bool isHVXVectorType(MVT VecTy, bool IncludeBool = false) const { | bool isHVXVectorType(MVT VecTy, bool IncludeBool = false) const { | ||||
if (!VecTy.isVector() || !useHVXOps()) | if (!VecTy.isVector() || !useHVXOps() || VecTy.isScalableVector()) | ||||
return false; | return false; | ||||
MVT ElemTy = VecTy.getVectorElementType(); | MVT ElemTy = VecTy.getVectorElementType(); | ||||
if (!IncludeBool && ElemTy == MVT::i1) | if (!IncludeBool && ElemTy == MVT::i1) | ||||
return false; | return false; | ||||
unsigned HwLen = getVectorLength(); | unsigned HwLen = getVectorLength(); | ||||
unsigned NumElems = VecTy.getVectorNumElements(); | unsigned NumElems = VecTy.getVectorNumElements(); | ||||
ArrayRef<MVT> ElemTypes = getHVXElementTypes(); | ArrayRef<MVT> ElemTypes = getHVXElementTypes(); | ||||
▲ Show 20 Lines • Show All 41 Lines • Show Last 20 Lines |