From 5b52f6d655e34de5c6fedbb71b6c94775cc10032 Mon Sep 17 00:00:00 2001 From: Jakob Stoklund Olesen Date: Tue, 24 Jan 2012 18:06:05 +0000 Subject: Add an (interleave A, B, ...) SetTheory operator. This will interleave the elements from two or more lists. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148824 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/TableGen/SetTheory.td | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'test/TableGen') diff --git a/test/TableGen/SetTheory.td b/test/TableGen/SetTheory.td index a4acea907d..4d85aa3e6f 100644 --- a/test/TableGen/SetTheory.td +++ b/test/TableGen/SetTheory.td @@ -165,3 +165,10 @@ def S9d : Set<(sequence "S%ua", 7, 9)>; // CHECK: S9b = [ e7 e6 e5 e4 e3 ] // CHECK: S9c = [ e0 ] // CHECK: S9d = [ a b c d e0 e3 e6 e9 e4 e5 e7 ] + +// The 'interleave' operator is almost the inverse of 'decimate'. +def interleave; +def T0a : Set<(interleave S9a, S9b)>; +def T0b : Set<(interleave S8e, S8d)>; +// CHECK: T0a = [ e3 e7 e4 e6 e5 ] +// CHECK: T0b = [ e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ] -- cgit v1.2.3