summaryrefslogtreecommitdiff
path: root/test-chill/test-cases/chill
diff options
context:
space:
mode:
Diffstat (limited to 'test-chill/test-cases/chill')
-rw-r--r--test-chill/test-cases/chill/mm.c15
-rw-r--r--test-chill/test-cases/chill/test_distribute.py12
-rw-r--r--test-chill/test-cases/chill/test_distribute.script10
-rw-r--r--test-chill/test-cases/chill/test_distribute.stdout14
-rw-r--r--test-chill/test-cases/chill/test_fuse.py14
-rw-r--r--test-chill/test-cases/chill/test_fuse.script12
-rw-r--r--test-chill/test-cases/chill/test_fuse.stdout25
-rw-r--r--test-chill/test-cases/chill/test_known.py11
-rw-r--r--test-chill/test-cases/chill/test_known.script9
-rw-r--r--test-chill/test-cases/chill/test_known.stdout11
-rw-r--r--test-chill/test-cases/chill/test_known_2.py9
-rw-r--r--test-chill/test-cases/chill/test_original.py12
-rw-r--r--test-chill/test-cases/chill/test_original.script12
-rw-r--r--test-chill/test-cases/chill/test_original.stdout28
-rw-r--r--test-chill/test-cases/chill/test_peel.py10
-rw-r--r--test-chill/test-cases/chill/test_peel.script10
-rw-r--r--test-chill/test-cases/chill/test_peel.stdout14
-rw-r--r--test-chill/test-cases/chill/test_permute.py12
-rw-r--r--test-chill/test-cases/chill/test_permute.script10
-rw-r--r--test-chill/test-cases/chill/test_permute.stdout17
-rw-r--r--test-chill/test-cases/chill/test_print_code.py8
-rw-r--r--test-chill/test-cases/chill/test_print_code.script7
-rw-r--r--test-chill/test-cases/chill/test_print_code.stdout18
-rw-r--r--test-chill/test-cases/chill/test_print_dep.py8
-rw-r--r--test-chill/test-cases/chill/test_print_dep.script7
-rw-r--r--test-chill/test-cases/chill/test_print_dep.stdout4
-rw-r--r--test-chill/test-cases/chill/test_print_space.py8
-rw-r--r--test-chill/test-cases/chill/test_print_space.script7
-rw-r--r--test-chill/test-cases/chill/test_print_space.stdout3
-rw-r--r--test-chill/test-cases/chill/test_reverse.py12
-rw-r--r--test-chill/test-cases/chill/test_reverse.script12
-rw-r--r--test-chill/test-cases/chill/test_reverse.stdout14
-rw-r--r--test-chill/test-cases/chill/test_scale.py12
-rw-r--r--test-chill/test-cases/chill/test_scale.script13
-rw-r--r--test-chill/test-cases/chill/test_scale.stdout14
-rw-r--r--test-chill/test-cases/chill/test_shift.py12
-rw-r--r--test-chill/test-cases/chill/test_shift.script11
-rw-r--r--test-chill/test-cases/chill/test_shift.stdout24
-rw-r--r--test-chill/test-cases/chill/test_shift_to.py12
-rw-r--r--test-chill/test-cases/chill/test_shift_to.script11
-rw-r--r--test-chill/test-cases/chill/test_shift_to.stdout11
-rw-r--r--test-chill/test-cases/chill/test_skew.py12
-rw-r--r--test-chill/test-cases/chill/test_skew.script11
-rw-r--r--test-chill/test-cases/chill/test_skew.stdout22
-rw-r--r--test-chill/test-cases/chill/test_tile.py14
-rw-r--r--test-chill/test-cases/chill/test_tile.script7
-rw-r--r--test-chill/test-cases/chill/test_tile.stdout20
-rw-r--r--test-chill/test-cases/chill/test_unroll.py13
-rw-r--r--test-chill/test-cases/chill/test_unroll.script11
-rw-r--r--test-chill/test-cases/chill/test_unroll.stdout19
-rw-r--r--test-chill/test-cases/chill/test_unroll_extra.py12
-rw-r--r--test-chill/test-cases/chill/test_unroll_extra.script11
-rw-r--r--test-chill/test-cases/chill/test_unroll_extra.stdout28
53 files changed, 675 insertions, 0 deletions
diff --git a/test-chill/test-cases/chill/mm.c b/test-chill/test-cases/chill/mm.c
new file mode 100644
index 0000000..354d929
--- /dev/null
+++ b/test-chill/test-cases/chill/mm.c
@@ -0,0 +1,15 @@
+
+
+void mm(float **A, float **B, float **C, int ambn, int an, int bm) {
+ int i, j, n;
+
+ for(i = 0; i < an; i++) {
+ for(j = 0; j < bm; j++) {
+ C[i][j] = 0.0f;
+ for(n = 0; n < ambn; n++) {
+ C[i][j] += A[i][n] * B[n][j];
+ }
+ }
+ }
+}
+
diff --git a/test-chill/test-cases/chill/test_distribute.py b/test-chill/test-cases/chill/test_distribute.py
new file mode 100644
index 0000000..760d29f
--- /dev/null
+++ b/test-chill/test-cases/chill/test_distribute.py
@@ -0,0 +1,12 @@
+from chill import *
+
+source('mm.c')
+procedure('mm')
+#format: rose
+loop(0)
+
+known('ambn > 0')
+known('an > 0')
+known('bm > 0')
+distribute([0,1], 1)
+print_code()
diff --git a/test-chill/test-cases/chill/test_distribute.script b/test-chill/test-cases/chill/test_distribute.script
new file mode 100644
index 0000000..2476e8d
--- /dev/null
+++ b/test-chill/test-cases/chill/test_distribute.script
@@ -0,0 +1,10 @@
+source: mm.c
+procedure: mm
+format: rose
+loop: 0
+
+known(ambn > 0)
+known(an > 0)
+known(bm > 0)
+distribute([0,1], 1)
+print
diff --git a/test-chill/test-cases/chill/test_distribute.stdout b/test-chill/test-cases/chill/test_distribute.stdout
new file mode 100644
index 0000000..f6aa1a8
--- /dev/null
+++ b/test-chill/test-cases/chill/test_distribute.stdout
@@ -0,0 +1,14 @@
+for(t2 = 0; t2 <= an-1; t2++) {
+ for(t4 = 0; t4 <= bm-1; t4++) {
+ s0(t2,t4,0);
+ }
+}
+for(t2 = 0; t2 <= an-1; t2++) {
+ for(t4 = 0; t4 <= bm-1; t4++) {
+ for(t6 = 0; t6 <= ambn-1; t6++) {
+ s1(t2,t4,t6);
+ }
+ }
+}
+
+
diff --git a/test-chill/test-cases/chill/test_fuse.py b/test-chill/test-cases/chill/test_fuse.py
new file mode 100644
index 0000000..32c594c
--- /dev/null
+++ b/test-chill/test-cases/chill/test_fuse.py
@@ -0,0 +1,14 @@
+from chill import *
+
+source('mm.c')
+procedure('mm')
+#format: rose
+loop(0)
+
+known('ambn > 0')
+known('an > 0')
+known('bm > 0')
+distribute([0,1], 1)
+print_code()
+fuse([0,1], 1)
+print_code()
diff --git a/test-chill/test-cases/chill/test_fuse.script b/test-chill/test-cases/chill/test_fuse.script
new file mode 100644
index 0000000..6578ad2
--- /dev/null
+++ b/test-chill/test-cases/chill/test_fuse.script
@@ -0,0 +1,12 @@
+source: mm.c
+procedure: mm
+format: rose
+loop: 0
+
+known(ambn > 0)
+known(an > 0)
+known(bm > 0)
+distribute([0,1], 1)
+print
+fuse([0,1], 1)
+print
diff --git a/test-chill/test-cases/chill/test_fuse.stdout b/test-chill/test-cases/chill/test_fuse.stdout
new file mode 100644
index 0000000..922d511
--- /dev/null
+++ b/test-chill/test-cases/chill/test_fuse.stdout
@@ -0,0 +1,25 @@
+for(t2 = 0; t2 <= an-1; t2++) {
+ for(t4 = 0; t4 <= bm-1; t4++) {
+ s0(t2,t4,0);
+ }
+}
+for(t2 = 0; t2 <= an-1; t2++) {
+ for(t4 = 0; t4 <= bm-1; t4++) {
+ for(t6 = 0; t6 <= ambn-1; t6++) {
+ s1(t2,t4,t6);
+ }
+ }
+}
+
+
+for(t2 = 0; t2 <= an-1; t2++) {
+ for(t4 = 0; t4 <= bm-1; t4++) {
+ s0(t2,t4,0);
+ s1(t2,t4,0);
+ for(t6 = 1; t6 <= ambn-1; t6++) {
+ s1(t2,t4,t6);
+ }
+ }
+}
+
+
diff --git a/test-chill/test-cases/chill/test_known.py b/test-chill/test-cases/chill/test_known.py
new file mode 100644
index 0000000..662d7d0
--- /dev/null
+++ b/test-chill/test-cases/chill/test_known.py
@@ -0,0 +1,11 @@
+from chill import *
+
+source('mm.c')
+procedure('mm')
+#format: rose
+loop(0)
+
+known('ambn > 0')
+known('an > 0')
+known('bm > 0')
+print_code()
diff --git a/test-chill/test-cases/chill/test_known.script b/test-chill/test-cases/chill/test_known.script
new file mode 100644
index 0000000..6772e18
--- /dev/null
+++ b/test-chill/test-cases/chill/test_known.script
@@ -0,0 +1,9 @@
+source: mm.c
+procedure: mm
+format: rose
+loop: 0
+
+known(ambn > 0)
+known(an > 0)
+known(bm > 0)
+print
diff --git a/test-chill/test-cases/chill/test_known.stdout b/test-chill/test-cases/chill/test_known.stdout
new file mode 100644
index 0000000..6975a99
--- /dev/null
+++ b/test-chill/test-cases/chill/test_known.stdout
@@ -0,0 +1,11 @@
+for(t2 = 0; t2 <= an-1; t2++) {
+ for(t4 = 0; t4 <= bm-1; t4++) {
+ s0(t2,t4,0);
+ s1(t2,t4,0);
+ for(t6 = 1; t6 <= ambn-1; t6++) {
+ s1(t2,t4,t6);
+ }
+ }
+}
+
+
diff --git a/test-chill/test-cases/chill/test_known_2.py b/test-chill/test-cases/chill/test_known_2.py
new file mode 100644
index 0000000..5b16325
--- /dev/null
+++ b/test-chill/test-cases/chill/test_known_2.py
@@ -0,0 +1,9 @@
+from chill import *
+
+source('mm.c')
+procedure('mm')
+#format: rose
+loop(0)
+
+known(['ambn > 0', 'an > 0', 'bm > 0'])
+print_code()
diff --git a/test-chill/test-cases/chill/test_original.py b/test-chill/test-cases/chill/test_original.py
new file mode 100644
index 0000000..2d17799
--- /dev/null
+++ b/test-chill/test-cases/chill/test_original.py
@@ -0,0 +1,12 @@
+from chill import *
+
+source('mm.c')
+procedure('mm')
+#format: rose
+loop(0)
+
+known(['ambn > 4', 'an > 0', 'bm > 0'])
+peel(1,3,4)
+print_code()
+original()
+print_code()
diff --git a/test-chill/test-cases/chill/test_original.script b/test-chill/test-cases/chill/test_original.script
new file mode 100644
index 0000000..8f07121
--- /dev/null
+++ b/test-chill/test-cases/chill/test_original.script
@@ -0,0 +1,12 @@
+source: mm.c
+procedure: mm
+format: rose
+loop: 0
+
+known(ambn > 4)
+known(an > 0)
+known(bm > 0)
+peel(1,3,4)
+print
+original()
+print
diff --git a/test-chill/test-cases/chill/test_original.stdout b/test-chill/test-cases/chill/test_original.stdout
new file mode 100644
index 0000000..5121763
--- /dev/null
+++ b/test-chill/test-cases/chill/test_original.stdout
@@ -0,0 +1,28 @@
+for(t2 = 0; t2 <= an-1; t2++) {
+ for(t4 = 0; t4 <= bm-1; t4++) {
+ s2(t2,t4,0);
+ s3(t2,t4,0);
+ s4(t2,t4,1);
+ s5(t2,t4,2);
+ s6(t2,t4,3);
+ for(t6 = 4; t6 <= ambn-1; t6++) {
+ s1(t2,t4,t6);
+ }
+ }
+}
+
+
+for(t2 = 0; t2 <= an-1; t2++) {
+ for(t4 = 0; t4 <= bm-1; t4++) {
+ s2(t2,t4,0);
+ s3(t2,t4,0);
+ s4(t2,t4,1);
+ s5(t2,t4,2);
+ s6(t2,t4,3);
+ for(t6 = 4; t6 <= ambn-1; t6++) {
+ s1(t2,t4,t6);
+ }
+ }
+}
+
+
diff --git a/test-chill/test-cases/chill/test_peel.py b/test-chill/test-cases/chill/test_peel.py
new file mode 100644
index 0000000..bb6c583
--- /dev/null
+++ b/test-chill/test-cases/chill/test_peel.py
@@ -0,0 +1,10 @@
+from chill import *
+
+source('mm.c')
+procedure('mm')
+#format: rose
+loop(0)
+
+known(['ambn > 4', 'an > 0', 'bm > 0'])
+peel(1,3,4)
+print_code()
diff --git a/test-chill/test-cases/chill/test_peel.script b/test-chill/test-cases/chill/test_peel.script
new file mode 100644
index 0000000..121868e
--- /dev/null
+++ b/test-chill/test-cases/chill/test_peel.script
@@ -0,0 +1,10 @@
+source: mm.c
+procedure: mm
+format: rose
+loop: 0
+
+known(ambn > 4)
+known(an > 0)
+known(bm > 0)
+peel(1,3,4)
+print
diff --git a/test-chill/test-cases/chill/test_peel.stdout b/test-chill/test-cases/chill/test_peel.stdout
new file mode 100644
index 0000000..7096b21
--- /dev/null
+++ b/test-chill/test-cases/chill/test_peel.stdout
@@ -0,0 +1,14 @@
+for(t2 = 0; t2 <= an-1; t2++) {
+ for(t4 = 0; t4 <= bm-1; t4++) {
+ s2(t2,t4,0);
+ s3(t2,t4,0);
+ s4(t2,t4,1);
+ s5(t2,t4,2);
+ s6(t2,t4,3);
+ for(t6 = 4; t6 <= ambn-1; t6++) {
+ s1(t2,t4,t6);
+ }
+ }
+}
+
+
diff --git a/test-chill/test-cases/chill/test_permute.py b/test-chill/test-cases/chill/test_permute.py
new file mode 100644
index 0000000..c201d2f
--- /dev/null
+++ b/test-chill/test-cases/chill/test_permute.py
@@ -0,0 +1,12 @@
+from chill import *
+
+source('mm.c')
+procedure('mm')
+#format: rose
+loop(0)
+
+known('ambn > 0')
+known('an > 0')
+known('bm > 0')
+permute([3,1,2])
+print_code()
diff --git a/test-chill/test-cases/chill/test_permute.script b/test-chill/test-cases/chill/test_permute.script
new file mode 100644
index 0000000..946bff5
--- /dev/null
+++ b/test-chill/test-cases/chill/test_permute.script
@@ -0,0 +1,10 @@
+source: mm.c
+procedure: mm
+format: rose
+loop: 0
+
+known(ambn > 0)
+known(an > 0)
+known(bm > 0)
+permute([3,1,2])
+print
diff --git a/test-chill/test-cases/chill/test_permute.stdout b/test-chill/test-cases/chill/test_permute.stdout
new file mode 100644
index 0000000..0268d6b
--- /dev/null
+++ b/test-chill/test-cases/chill/test_permute.stdout
@@ -0,0 +1,17 @@
+for(t2 = 0; t2 <= ambn-1; t2++) {
+ for(t4 = 0; t4 <= an-1; t4++) {
+ if (t2 <= 0) {
+ for(t6 = 0; t6 <= bm-1; t6++) {
+ s0(t4,t6,t2);
+ s1(t4,t6,t2);
+ }
+ }
+ else {
+ for(t6 = 0; t6 <= bm-1; t6++) {
+ s1(t4,t6,t2);
+ }
+ }
+ }
+}
+
+
diff --git a/test-chill/test-cases/chill/test_print_code.py b/test-chill/test-cases/chill/test_print_code.py
new file mode 100644
index 0000000..004c46c
--- /dev/null
+++ b/test-chill/test-cases/chill/test_print_code.py
@@ -0,0 +1,8 @@
+from chill import *
+
+source('mm.c')
+procedure('mm')
+#format: rose
+loop(0)
+
+print_code()
diff --git a/test-chill/test-cases/chill/test_print_code.script b/test-chill/test-cases/chill/test_print_code.script
new file mode 100644
index 0000000..20c8364
--- /dev/null
+++ b/test-chill/test-cases/chill/test_print_code.script
@@ -0,0 +1,7 @@
+
+source: mm.c
+procedure: mm
+format: rose
+loop: 0
+
+print
diff --git a/test-chill/test-cases/chill/test_print_code.stdout b/test-chill/test-cases/chill/test_print_code.stdout
new file mode 100644
index 0000000..b4ece20
--- /dev/null
+++ b/test-chill/test-cases/chill/test_print_code.stdout
@@ -0,0 +1,18 @@
+if (bm >= 1) {
+ for(t2 = 0; t2 <= an-1; t2++) {
+ for(t4 = 0; t4 <= bm-1; t4++) {
+ if (ambn >= 1) {
+ s0(t2,t4,0);
+ s1(t2,t4,0);
+ }
+ for(t6 = 1; t6 <= ambn-1; t6++) {
+ s1(t2,t4,t6);
+ }
+ if (ambn <= 0) {
+ s0(t2,t4,0);
+ }
+ }
+ }
+}
+
+
diff --git a/test-chill/test-cases/chill/test_print_dep.py b/test-chill/test-cases/chill/test_print_dep.py
new file mode 100644
index 0000000..a3dee29
--- /dev/null
+++ b/test-chill/test-cases/chill/test_print_dep.py
@@ -0,0 +1,8 @@
+from chill import *
+
+source('mm.c')
+procedure('mm')
+#format: rose
+loop(0)
+
+print_dep()
diff --git a/test-chill/test-cases/chill/test_print_dep.script b/test-chill/test-cases/chill/test_print_dep.script
new file mode 100644
index 0000000..99dc567
--- /dev/null
+++ b/test-chill/test-cases/chill/test_print_dep.script
@@ -0,0 +1,7 @@
+
+source: mm.c
+procedure: mm
+format: rose
+loop: 0
+
+print dep
diff --git a/test-chill/test-cases/chill/test_print_dep.stdout b/test-chill/test-cases/chill/test_print_dep.stdout
new file mode 100644
index 0000000..ab679a3
--- /dev/null
+++ b/test-chill/test-cases/chill/test_print_dep.stdout
@@ -0,0 +1,4 @@
+dependence graph:
+1->2: C:flow(0, 0, +) C:flow(0, 0, 0) C:output(0, 0, +) C:output(0, 0, 0)
+2->2: C:anti(0, 0, +) C:output(0, 0, +)
+
diff --git a/test-chill/test-cases/chill/test_print_space.py b/test-chill/test-cases/chill/test_print_space.py
new file mode 100644
index 0000000..2f8f678
--- /dev/null
+++ b/test-chill/test-cases/chill/test_print_space.py
@@ -0,0 +1,8 @@
+from chill import *
+
+source('mm.c')
+procedure('mm')
+#format: rose
+loop(0)
+
+print_space()
diff --git a/test-chill/test-cases/chill/test_print_space.script b/test-chill/test-cases/chill/test_print_space.script
new file mode 100644
index 0000000..d8c81df
--- /dev/null
+++ b/test-chill/test-cases/chill/test_print_space.script
@@ -0,0 +1,7 @@
+
+source: mm.c
+procedure: mm
+format: rose
+loop: 0
+
+print space
diff --git a/test-chill/test-cases/chill/test_print_space.stdout b/test-chill/test-cases/chill/test_print_space.stdout
new file mode 100644
index 0000000..f97c8c1
--- /dev/null
+++ b/test-chill/test-cases/chill/test_print_space.stdout
@@ -0,0 +1,3 @@
+s0: { Sym=[bm,an] [t1,t2,t3,t4,t5,t6,t7] : t1 = 0 && t3 = 0 && t5 = 0 && t7 = 0 && t6 = 0 && 0 <= t2 < an && 0 <= t4 < bm }
+s1: { Sym=[ambn,bm,an] [t1,t2,t3,t4,t5,t6,t7] : t1 = 0 && t3 = 0 && t5 = 0 && t7 = 0 && 0 <= t2 < an && 0 <= t6 < ambn && 0 <= t4 < bm }
+
diff --git a/test-chill/test-cases/chill/test_reverse.py b/test-chill/test-cases/chill/test_reverse.py
new file mode 100644
index 0000000..a97c611
--- /dev/null
+++ b/test-chill/test-cases/chill/test_reverse.py
@@ -0,0 +1,12 @@
+from chill import *
+
+source('mm.c')
+procedure('mm')
+#format: rose
+loop(0)
+
+known(['ambn > 0', 'an > 0', 'bm > 0'])
+distribute([0,1],1)
+reverse([1],1)
+reverse([1],2)
+print_code()
diff --git a/test-chill/test-cases/chill/test_reverse.script b/test-chill/test-cases/chill/test_reverse.script
new file mode 100644
index 0000000..fc04d5c
--- /dev/null
+++ b/test-chill/test-cases/chill/test_reverse.script
@@ -0,0 +1,12 @@
+source: mm.c
+procedure: mm
+format: rose
+loop: 0
+
+known(ambn > 0)
+known(an > 0)
+known(bm > 0)
+distribute([0,1],1)
+reverse([1],1)
+reverse([1],2)
+print
diff --git a/test-chill/test-cases/chill/test_reverse.stdout b/test-chill/test-cases/chill/test_reverse.stdout
new file mode 100644
index 0000000..182b822
--- /dev/null
+++ b/test-chill/test-cases/chill/test_reverse.stdout
@@ -0,0 +1,14 @@
+for(t2 = 0; t2 <= an-1; t2++) {
+ for(t4 = 0; t4 <= bm-1; t4++) {
+ s0(t2,t4,0);
+ }
+}
+for(t2 = -an+1; t2 <= 0; t2++) {
+ for(t4 = -bm+1; t4 <= 0; t4++) {
+ for(t6 = 0; t6 <= ambn-1; t6++) {
+ s1(-t2,-t4,t6);
+ }
+ }
+}
+
+
diff --git a/test-chill/test-cases/chill/test_scale.py b/test-chill/test-cases/chill/test_scale.py
new file mode 100644
index 0000000..ee8455d
--- /dev/null
+++ b/test-chill/test-cases/chill/test_scale.py
@@ -0,0 +1,12 @@
+from chill import *
+
+source('mm.c')
+procedure('mm')
+#format: rose
+loop(0)
+
+known(['ambn > 0', 'an > 0', 'bm > 0'])
+distribute([0,1],1)
+scale([1],1,4)
+scale([1],2,4)
+print_code()
diff --git a/test-chill/test-cases/chill/test_scale.script b/test-chill/test-cases/chill/test_scale.script
new file mode 100644
index 0000000..20611ec
--- /dev/null
+++ b/test-chill/test-cases/chill/test_scale.script
@@ -0,0 +1,13 @@
+
+source: mm.c
+procedure: mm
+format: rose
+loop: 0
+
+known(ambn > 0)
+known(an > 0)
+known(bm > 0)
+distribute([0,1],1)
+scale([1],1,4)
+scale([1],2,4)
+print
diff --git a/test-chill/test-cases/chill/test_scale.stdout b/test-chill/test-cases/chill/test_scale.stdout
new file mode 100644
index 0000000..049451c
--- /dev/null
+++ b/test-chill/test-cases/chill/test_scale.stdout
@@ -0,0 +1,14 @@
+for(t2 = 0; t2 <= an-1; t2++) {
+ for(t4 = 0; t4 <= bm-1; t4++) {
+ s0(t2,t4,0);
+ }
+}
+for(t2 = 0; t2 <= 4*an-4; t2 += 4) {
+ for(t4 = 0; t4 <= 4*bm-4; t4 += 4) {
+ for(t6 = 0; t6 <= ambn-1; t6++) {
+ s1(t2/4,t4/4,t6);
+ }
+ }
+}
+
+
diff --git a/test-chill/test-cases/chill/test_shift.py b/test-chill/test-cases/chill/test_shift.py
new file mode 100644
index 0000000..b3fc6ab
--- /dev/null
+++ b/test-chill/test-cases/chill/test_shift.py
@@ -0,0 +1,12 @@
+from chill import *
+
+source('mm.c')
+procedure('mm')
+#format: rose
+loop(0)
+
+known('ambn > 0')
+known('an > 0')
+known('bm > 0')
+shift([1],1,4)
+print_code()
diff --git a/test-chill/test-cases/chill/test_shift.script b/test-chill/test-cases/chill/test_shift.script
new file mode 100644
index 0000000..d3d67aa
--- /dev/null
+++ b/test-chill/test-cases/chill/test_shift.script
@@ -0,0 +1,11 @@
+
+source: mm.c
+procedure: mm
+format: rose
+loop: 0
+
+known(ambn > 0)
+known(an > 0)
+known(bm > 0)
+shift([1],1,4)
+print
diff --git a/test-chill/test-cases/chill/test_shift.stdout b/test-chill/test-cases/chill/test_shift.stdout
new file mode 100644
index 0000000..2b96895
--- /dev/null
+++ b/test-chill/test-cases/chill/test_shift.stdout
@@ -0,0 +1,24 @@
+for(t2 = 0; t2 <= an+3; t2++) {
+ for(t4 = 0; t4 <= bm-1; t4++) {
+ if (an >= t2+1) {
+ s0(t2,t4,0);
+ if (t2 >= 4) {
+ s1(t2-4,t4,0);
+ }
+ if (t2 >= 4) {
+ for(t6 = 1; t6 <= ambn-1; t6++) {
+ s1(t2-4,t4,t6);
+ }
+ }
+ }
+ else {
+ if (t2 >= 4) {
+ for(t6 = 0; t6 <= ambn-1; t6++) {
+ s1(t2-4,t4,t6);
+ }
+ }
+ }
+ }
+}
+
+
diff --git a/test-chill/test-cases/chill/test_shift_to.py b/test-chill/test-cases/chill/test_shift_to.py
new file mode 100644
index 0000000..f3537c5
--- /dev/null
+++ b/test-chill/test-cases/chill/test_shift_to.py
@@ -0,0 +1,12 @@
+from chill import *
+
+source('mm.c')
+procedure('mm')
+#format: rose
+loop(0)
+
+known('ambn > 0')
+known('an > 0')
+known('bm > 0')
+shift_to(1,1,4)
+print_code()
diff --git a/test-chill/test-cases/chill/test_shift_to.script b/test-chill/test-cases/chill/test_shift_to.script
new file mode 100644
index 0000000..64a6443
--- /dev/null
+++ b/test-chill/test-cases/chill/test_shift_to.script
@@ -0,0 +1,11 @@
+
+source: mm.c
+procedure: mm
+format: rose
+loop: 0
+
+known(ambn > 0)
+known(an > 0)
+known(bm > 0)
+shift_to(1,1,4)
+print
diff --git a/test-chill/test-cases/chill/test_shift_to.stdout b/test-chill/test-cases/chill/test_shift_to.stdout
new file mode 100644
index 0000000..820d83f
--- /dev/null
+++ b/test-chill/test-cases/chill/test_shift_to.stdout
@@ -0,0 +1,11 @@
+for(t2 = 4; t2 <= an+3; t2++) {
+ for(t4 = 0; t4 <= bm-1; t4++) {
+ s0(t2-4,t4,0);
+ s1(t2-4,t4,0);
+ for(t6 = 1; t6 <= ambn-1; t6++) {
+ s1(t2-4,t4,t6);
+ }
+ }
+}
+
+
diff --git a/test-chill/test-cases/chill/test_skew.py b/test-chill/test-cases/chill/test_skew.py
new file mode 100644
index 0000000..c7271f4
--- /dev/null
+++ b/test-chill/test-cases/chill/test_skew.py
@@ -0,0 +1,12 @@
+from chill import *
+
+source('mm.c')
+procedure('mm')
+#format: rose
+loop(0)
+
+known('ambn > 0')
+known('an > 0')
+known('bm > 0')
+skew([1],1,[4])
+print_code()
diff --git a/test-chill/test-cases/chill/test_skew.script b/test-chill/test-cases/chill/test_skew.script
new file mode 100644
index 0000000..e9cf75a
--- /dev/null
+++ b/test-chill/test-cases/chill/test_skew.script
@@ -0,0 +1,11 @@
+
+source: mm.c
+procedure: mm
+format: rose
+loop: 0
+
+known(ambn > 0)
+known(an > 0)
+known(bm > 0)
+skew([1],1,[4])
+print
diff --git a/test-chill/test-cases/chill/test_skew.stdout b/test-chill/test-cases/chill/test_skew.stdout
new file mode 100644
index 0000000..a1b36f8
--- /dev/null
+++ b/test-chill/test-cases/chill/test_skew.stdout
@@ -0,0 +1,22 @@
+for(t2 = 0; t2 <= 4*an-4; t2++) {
+ for(t4 = 0; t4 <= bm-1; t4++) {
+ if (an >= t2+1) {
+ s0(t2,t4,0);
+ if (intMod(t2,4) == 0) {
+ s1(t2/4,t4,0);
+ }
+ }
+ else {
+ if (intMod(t2,4) == 0) {
+ s1(t2/4,t4,0);
+ }
+ }
+ if (intMod(t2,4) == 0) {
+ for(t6 = 1; t6 <= ambn-1; t6++) {
+ s1(t2/4,t4,t6);
+ }
+ }
+ }
+}
+
+
diff --git a/test-chill/test-cases/chill/test_tile.py b/test-chill/test-cases/chill/test_tile.py
new file mode 100644
index 0000000..fbe0368
--- /dev/null
+++ b/test-chill/test-cases/chill/test_tile.py
@@ -0,0 +1,14 @@
+from chill import *
+
+source('mm.c')
+procedure('mm')
+#format: rose
+loop(0)
+
+#known('ambn > 0')
+#known('an > 0')
+#known('bm > 0')
+#tile(1, 1, 4, 1)
+#tile(1, 3, 4, 2)
+tile(0,2,4)
+print_code()
diff --git a/test-chill/test-cases/chill/test_tile.script b/test-chill/test-cases/chill/test_tile.script
new file mode 100644
index 0000000..de27998
--- /dev/null
+++ b/test-chill/test-cases/chill/test_tile.script
@@ -0,0 +1,7 @@
+source: mm.c
+procedure: mm
+format: rose
+loop: 0
+
+tile(0, 2, 4)
+print
diff --git a/test-chill/test-cases/chill/test_tile.stdout b/test-chill/test-cases/chill/test_tile.stdout
new file mode 100644
index 0000000..0a2d89a
--- /dev/null
+++ b/test-chill/test-cases/chill/test_tile.stdout
@@ -0,0 +1,20 @@
+if (an >= 1) {
+ for(t2 = 0; t2 <= bm-1; t2 += 4) {
+ for(t4 = 0; t4 <= an-1; t4++) {
+ for(t6 = t2; t6 <= min(bm-1,t2+3); t6++) {
+ if (ambn >= 1) {
+ s0(t4,t6,0);
+ s1(t4,t6,0);
+ }
+ for(t8 = 1; t8 <= ambn-1; t8++) {
+ s1(t4,t6,t8);
+ }
+ if (ambn <= 0) {
+ s0(t4,t6,0);
+ }
+ }
+ }
+ }
+}
+
+
diff --git a/test-chill/test-cases/chill/test_unroll.py b/test-chill/test-cases/chill/test_unroll.py
new file mode 100644
index 0000000..39dd0db
--- /dev/null
+++ b/test-chill/test-cases/chill/test_unroll.py
@@ -0,0 +1,13 @@
+from chill import *
+
+source('mm.c')
+procedure('mm')
+#format: rose
+loop(0)
+
+known('ambn > 0')
+known('an > 0')
+known('bm > 0')
+distribute([0,1], 1)
+unroll(1, 3, 4)
+print_code()
diff --git a/test-chill/test-cases/chill/test_unroll.script b/test-chill/test-cases/chill/test_unroll.script
new file mode 100644
index 0000000..bd19bd1
--- /dev/null
+++ b/test-chill/test-cases/chill/test_unroll.script
@@ -0,0 +1,11 @@
+source: mm.c
+procedure: mm
+format: rose
+loop: 0
+
+known(ambn > 0)
+known(an > 0)
+known(bm > 0)
+distribute([0,1], 1)
+unroll(1, 3, 4)
+print
diff --git a/test-chill/test-cases/chill/test_unroll.stdout b/test-chill/test-cases/chill/test_unroll.stdout
new file mode 100644
index 0000000..71616bf
--- /dev/null
+++ b/test-chill/test-cases/chill/test_unroll.stdout
@@ -0,0 +1,19 @@
+for(t2 = 0; t2 <= an-1; t2++) {
+ for(t4 = 0; t4 <= bm-1; t4++) {
+ s0(t2,t4,0);
+ }
+}
+for(t2 = 0; t2 <= an-1; t2++) {
+ for(t4 = 0; t4 <= bm-1; t4++) {
+ s2(t2,t4);
+ for(t6 = 0; t6 <= -over1+ambn-1; t6 += 4) {
+ s1(t2,t4,t6);
+ s4(t2,t4,t6);
+ }
+ for(t6 = max(0,ambn-over1); t6 <= ambn-1; t6++) {
+ s3(t2,t4,t6);
+ }
+ }
+}
+
+
diff --git a/test-chill/test-cases/chill/test_unroll_extra.py b/test-chill/test-cases/chill/test_unroll_extra.py
new file mode 100644
index 0000000..929313c
--- /dev/null
+++ b/test-chill/test-cases/chill/test_unroll_extra.py
@@ -0,0 +1,12 @@
+from chill import *
+
+source('mm.c')
+procedure('mm')
+#format: rose
+loop(0)
+
+known('ambn > 0')
+known('an > 0')
+known('bm > 0')
+unroll_extra(1, 2, 4)
+print_code()
diff --git a/test-chill/test-cases/chill/test_unroll_extra.script b/test-chill/test-cases/chill/test_unroll_extra.script
new file mode 100644
index 0000000..fae244e
--- /dev/null
+++ b/test-chill/test-cases/chill/test_unroll_extra.script
@@ -0,0 +1,11 @@
+
+source: mm.c
+procedure: mm
+format: rose
+loop: 0
+
+known(ambn > 0)
+known(an > 0)
+known(bm > 0)
+unroll_extra(1, 2, 4)
+print
diff --git a/test-chill/test-cases/chill/test_unroll_extra.stdout b/test-chill/test-cases/chill/test_unroll_extra.stdout
new file mode 100644
index 0000000..eca65f2
--- /dev/null
+++ b/test-chill/test-cases/chill/test_unroll_extra.stdout
@@ -0,0 +1,28 @@
+for(t2 = 0; t2 <= an-1; t2++) {
+ s2(t2);
+ for(t4 = 0; t4 <= -over1+bm-1; t4 += 4) {
+ s0(t2,t4,0);
+ s1(t2,t4,0);
+ s5(t2,t4,0);
+ s6(t2,t4,0);
+ s7(t2,t4,0);
+ s8(t2,t4,0);
+ s9(t2,t4,0);
+ s10(t2,t4,0);
+ for(t6 = 1; t6 <= ambn-1; t6++) {
+ s1(t2,t4,t6);
+ s6(t2,t4,t6);
+ s8(t2,t4,t6);
+ s10(t2,t4,t6);
+ }
+ }
+ for(t4 = max(bm-over1,0); t4 <= bm-1; t4++) {
+ s3(t2,t4,0);
+ s4(t2,t4,0);
+ for(t6 = 1; t6 <= ambn-1; t6++) {
+ s4(t2,t4,t6);
+ }
+ }
+}
+
+