[llvm-commits] CVS: llvm/include/llvm/CodeGen/SelectionDAGNodes.h
Dan Gohman
djg at cray.com
Wed Jun 13 08:12:30 PDT 2007
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
More information about the llvm-commits
mailing list