Changes in directory llvm/include/llvm/CodeGen:
SelectionDAGNodes.h updated: 1.191 -> 1.192 --- Log message: Introduce new SelectionDAG node opcodes VEXTRACT_SUBVECTOR and VCONCAT_VECTORS. Use these for CopyToReg and CopyFromReg legalizing in the case that the full register is to be split into subvectors instead of scalars. This replaces uses of VBIT_CONVERT to present values as vector-of-vector types in order to make whole subvectors accessible via BUILD_VECTOR and EXTRACT_VECTOR_ELT. This is in preparation for adding extended ValueType values, where having vector-of-vector types is undesirable. --- Diffs of the changes: (+13 -0) SelectionDAGNodes.h | 13 +++++++++++++ 1 files changed, 13 insertions(+) Index: llvm/include/llvm/CodeGen/SelectionDAGNodes.h diff -u llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.191 llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.192 --- llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.191 Thu May 24 09:36:03 2007 +++ llvm/include/llvm/CodeGen/SelectionDAGNodes.h Wed Jun 13 10:12:02 2007 @@ -267,6 +267,19 @@ /// element number IDX. EXTRACT_VECTOR_ELT, + /// VCONCAT_VECTORS(VECTOR0, VECTOR1, ..., COUNT,TYPE) - Given a number of + /// values of MVT::Vector type with the same length and element type, this + /// produces a concatenated MVT::Vector result value, with length equal to + /// the sum of the input vectors. This can only be used before + /// legalization. + VCONCAT_VECTORS, + + /// VEXTRACT_SUBVECTOR(VECTOR, IDX) - Returns a subvector from VECTOR (an + /// MVT::Vector value) starting with the (potentially variable) + /// element number IDX, which must be a multiple of the result vector + /// length. This can only be used before legalization. + VEXTRACT_SUBVECTOR, + /// VVECTOR_SHUFFLE(VEC1, VEC2, SHUFFLEVEC, COUNT,TYPE) - Returns a vector, /// of the same type as VEC1/VEC2. SHUFFLEVEC is a VBUILD_VECTOR of /// constant int values that indicate which value each result element will _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits