Changes in directory llvm/lib/CodeGen:
ValueTypes.cpp updated: 1.7 -> 1.8 --- Log message: Move MVT::getVectorType out of line, it is large and shouldn't be inlined. --- Diffs of the changes: (+34 -0) ValueTypes.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 files changed, 34 insertions(+) Index: llvm/lib/CodeGen/ValueTypes.cpp diff -u llvm/lib/CodeGen/ValueTypes.cpp:1.7 llvm/lib/CodeGen/ValueTypes.cpp:1.8 --- llvm/lib/CodeGen/ValueTypes.cpp:1.7 Mon Feb 20 16:34:53 2006 +++ llvm/lib/CodeGen/ValueTypes.cpp Tue Jul 18 19:40:45 2006 @@ -46,6 +46,40 @@ } } +/// MVT::getVectorType - Returns the ValueType that represents a vector +/// NumElements in length, where each element is of type VT. If there is no +/// ValueType that represents this vector, a ValueType of Other is returned. +/// +MVT::ValueType MVT::getVectorType(ValueType VT, unsigned NumElements) { + switch (VT) { + default: + break; + case MVT::i8: + if (NumElements == 8) return MVT::v8i8; + if (NumElements == 16) return MVT::v16i8; + break; + case MVT::i16: + if (NumElements == 4) return MVT::v4i16; + if (NumElements == 8) return MVT::v8i16; + break; + case MVT::i32: + if (NumElements == 2) return MVT::v2i32; + if (NumElements == 4) return MVT::v4i32; + break; + case MVT::i64: + if (NumElements == 2) return MVT::v2i64; + break; + case MVT::f32: + if (NumElements == 2) return MVT::v2f32; + if (NumElements == 4) return MVT::v4f32; + break; + case MVT::f64: + if (NumElements == 2) return MVT::v2f64; + break; + } + return MVT::Other; +} + /// MVT::getTypeForValueType - This method returns an LLVM type corresponding /// to the specified ValueType. For integer types, this returns an unsigned /// type. Note that this will abort for types that cannot be represented. _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits