aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-03-19 23:42:51 +0000
committerChris Lattner <sabre@nondot.org>2006-03-19 23:42:51 +0000
commit49c6d3eba8869cf945f6c55ea243466e2b406fe8 (patch)
tree825aa73995d9edc6766fd0393c701200d7e92957
parent074ad68d5a712213b176d3a98bdebaea1b15fc0e (diff)
add a node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26879 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/CodeGen/SelectionDAGNodes.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h
index e52ac2c8bd..b3a83ce64b 100644
--- a/include/llvm/CodeGen/SelectionDAGNodes.h
+++ b/include/llvm/CodeGen/SelectionDAGNodes.h
@@ -157,6 +157,15 @@ namespace ISD {
/// type) with the element at IDX replaced with VAL.
INSERT_VECTOR_ELT,
+ /// VECTOR_SHUFFLE(VEC1, VEC2, SHUFFLEVEC) - Returns a vector, of the same
+ /// type as VEC1/VEC2. SHUFFLEVEC is a BUILD_VECTOR of constant int values
+ /// (regardless of whether its datatype is legal or not) that indicate
+ /// which value each result element will get. The elements of VEC1/VEC2 are
+ /// enumerated in order. This is quite similar to the Altivec 'vperm'
+ /// instruction, except that the indices must be constants and are in terms
+ /// of the element size of VEC1/VEC2, not in terms of bytes.
+ VECTOR_SHUFFLE,
+
/// BINOP(LHS, RHS, COUNT,TYPE)
/// Simple abstract vector operators. Unlike the integer and floating point
/// binary operators, these nodes also take two additional operands: