summaryrefslogtreecommitdiffstats
path: root/llvm/include/llvm/Target/GenericOpcodes.td
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/include/llvm/Target/GenericOpcodes.td')
-rw-r--r--llvm/include/llvm/Target/GenericOpcodes.td21
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/include/llvm/Target/GenericOpcodes.td b/llvm/include/llvm/Target/GenericOpcodes.td
index 97036350171..4c297322aa7 100644
--- a/llvm/include/llvm/Target/GenericOpcodes.td
+++ b/llvm/include/llvm/Target/GenericOpcodes.td
@@ -58,6 +58,27 @@ def G_OR : Instruction {
}
//------------------------------------------------------------------------------
+// Variadic ops
+//------------------------------------------------------------------------------
+
+// Extract multiple registers specified size, starting from blocks given by
+// indexes. This will almost certainly be mapped to sub-register COPYs after
+// register banks have been selected.
+def G_EXTRACT : Instruction {
+ let OutOperandList = (outs variable_ops);
+ let InOperandList = (ins variable_ops);
+ let hasSideEffects = 0;
+}
+
+// Combine a sequence of generic vregs into a single larger value (starting at
+// bit 0).
+def G_SEQUENCE : Instruction {
+ let OutOperandList = (outs unknown:$dst);
+ let InOperandList = (ins variable_ops);
+ let hasSideEffects = 0;
+}
+
+//------------------------------------------------------------------------------
// Branches.
//------------------------------------------------------------------------------
// Generic unconditional branch.
OpenPOWER on IntegriCloud