summaryrefslogtreecommitdiff
path: root/cloog-core/test/vasilache.cloog
diff options
context:
space:
mode:
Diffstat (limited to 'cloog-core/test/vasilache.cloog')
-rw-r--r--cloog-core/test/vasilache.cloog248
1 files changed, 248 insertions, 0 deletions
diff --git a/cloog-core/test/vasilache.cloog b/cloog-core/test/vasilache.cloog
new file mode 100644
index 0000000..29f9598
--- /dev/null
+++ b/cloog-core/test/vasilache.cloog
@@ -0,0 +1,248 @@
+# A SCoP from matmul (matmul.B.main.scop1.cloog) to check normalization
+#
+# Options:
+# cloog -f 8 -l 9 vasilache.cloog
+#
+# Correct:
+# S1;
+# S2;
+# for (p0=0;p0<=N-1;p0++) {
+# for (p1=0;p1<=N-1;p1++) {
+# S4(i = p0,j = p1);
+# S5(i = p0,j = p1);
+# }
+# }
+# for (p0=0;p0<=N-1;p0++) {
+# for (p1=0;p1<=N-1;p1++) {
+# for (p2=0;p2<=floord(N-1,32);p2++) {
+# S7(i = p0,j = p1,k = p2,l = 32*p2);
+# for (p3=32*p2+1;p3<=min(N-1,32*p2+31);p3++) {
+# S6(i = p0,j = p1,k = p2,l = p3-1);
+# S7(i = p0,j = p1,k = p2,l = p3);
+# }
+# if (p2 >= ceild(N-32,32)) {
+# S6(i = p0,j = p1,k = p2,l = N-1);
+# }
+# if (p2 <= floord(N-33,32)) {
+# S6(i = p0,j = p1,k = p2,l = 32*p2+31);
+# }
+# }
+# }
+# }
+# S8;
+#
+#
+# NOT correct:
+# S1 ;
+# S2 ;
+# for (p1=0;p1<=N-1;p1++) {
+# for (p3=0;p3<=N-1;p3++) {
+# S4(i = p1,j = p3) ;
+# S5(i = p1,j = p3) ;
+# }
+# }
+# for (p1=0;p1<=N-1;p1++) {
+# for (p3=0;p3<=N-1;p3++) {
+# for (p5=0;p5<=floord(N-1,32);p5++) {
+# if (p5 <= 0) {
+# S7(i = p1,j = p3,k = p5,l = 0) ;
+# }
+# p7 = 32*p5 ;
+# l = 32*p5 ;
+# S7(i = p1,j = p3,k = p5) ;
+# for (p7=max(32*p5+1,1);p7<=min(32*p5+31,N-1);p7++) {
+# l = p7-1 ;
+# S6(i = p1,j = p3,k = p5) ;
+# S7(i = p1,j = p3,k = p5,l = p7) ;
+# }
+# if (p5 >= ceild(N-32,32)) {
+# l = N-1 ;
+# S6(i = p1,j = p3,k = p5) ;
+# }
+# p7 = 32*p5+32 ;
+# l = 32*p5+31 ;
+# S6(i = p1,j = p3,k = p5) ;
+# }
+# }
+# }
+# S8 ;
+
+
+
+c # language is C
+# ---------- CONTEXT ----------
+# Context (constraints on parameters)
+2 4 # 1 lines, 4 columns
+1 -1 0 3
+1 0 1 -100
+
+
+0 # Automatically find parameter names
+
+# ---------- STATEMENTS ----------
+8 # Number of statements
+
+1 # Statement has a non resticted domain
+1 4
+1 0 0 0
+0 0 0
+
+1 # Statement has a non resticted domain
+1 4
+1 0 0 0
+0 0 0
+
+1 # Statement has 1 domain
+1 4
+1 1 0 -79
+0 0 0
+
+1 # Statement has 1 domain
+4 6
+1 1 0 0 0 0
+1 -1 0 0 1 -1
+1 0 1 0 0 0
+1 0 -1 0 1 -1
+0 0 0
+
+1 # Statement has 1 domain
+4 6
+1 1 0 0 0 0
+1 -1 0 0 1 -1
+1 0 1 0 0 0
+1 0 -1 0 1 -1
+0 0 0
+
+1 # Statement has 1 domain
+8 8
+1 1 0 0 0 0 0 0
+1 -1 0 0 0 0 1 -1
+1 0 1 0 0 0 0 0
+1 0 -1 0 0 0 1 -1
+1 0 0 0 1 0 0 0
+1 0 0 0 -1 0 1 -1
+1 0 0 -32 1 0 0 0
+1 0 0 32 -1 0 0 31
+0 0 0
+
+1 # Statement has 1 domain
+8 8
+1 1 0 0 0 0 0 0
+1 -1 0 0 0 0 1 -1
+1 0 1 0 0 0 0 0
+1 0 -1 0 0 0 1 -1
+1 0 0 0 1 0 0 0
+1 0 0 0 -1 0 1 -1
+1 0 0 -32 1 0 0 0
+1 0 0 32 -1 0 0 31
+0 0 0
+
+1 # Statement has a non resticted domain
+1 4
+1 0 0 0
+0 0 0
+
+0 # Automatically find iterator names.
+
+# ---------- SCATTERING FUNCTIONS ----------
+8 # Number of scattering functions
+
+9 13
+# p0 p1 p2 p3 p4 p5 p6 p7 p8
+0 1 0 0 0 0 0 0 0 0 0 0 0 # Beta 0
+0 0 1 0 0 0 0 0 0 0 0 0 0 # Alpha & Gamma 1
+0 0 0 1 0 0 0 0 0 0 0 0 0 # Beta 1
+0 0 0 0 1 0 0 0 0 0 0 0 0 # Alpha & Gamma 2
+0 0 0 0 0 1 0 0 0 0 0 0 0 # Beta 2
+0 0 0 0 0 0 1 0 0 0 0 0 0 # Alpha & Gamma 3
+0 0 0 0 0 0 0 1 0 0 0 0 0 # Beta 3
+0 0 0 0 0 0 0 0 1 0 0 0 0 # Alpha & Gamma 4
+0 0 0 0 0 0 0 0 0 1 0 0 0 # Beta 4
+
+9 13
+# p0 p1 p2 p3 p4 p5 p6 p7 p8
+0 1 0 0 0 0 0 0 0 0 0 0 -1 # Beta 0
+0 0 1 0 0 0 0 0 0 0 0 0 0 # Alpha & Gamma 1
+0 0 0 1 0 0 0 0 0 0 0 0 0 # Beta 1
+0 0 0 0 1 0 0 0 0 0 0 0 0 # Alpha & Gamma 2
+0 0 0 0 0 1 0 0 0 0 0 0 0 # Beta 2
+0 0 0 0 0 0 1 0 0 0 0 0 0 # Alpha & Gamma 3
+0 0 0 0 0 0 0 1 0 0 0 0 0 # Beta 3
+0 0 0 0 0 0 0 0 1 0 0 0 0 # Alpha & Gamma 4
+0 0 0 0 0 0 0 0 0 1 0 0 0 # Beta 4
+
+9 13
+# p0 p1 p2 p3 p4 p5 p6 p7 p8
+0 1 0 0 0 0 0 0 0 0 0 0 -2 # Beta 0
+0 0 1 0 0 0 0 0 0 0 0 0 0 # Alpha & Gamma 1
+0 0 0 1 0 0 0 0 0 0 0 0 0 # Beta 1
+0 0 0 0 1 0 0 0 0 0 0 0 0 # Alpha & Gamma 2
+0 0 0 0 0 1 0 0 0 0 0 0 0 # Beta 2
+0 0 0 0 0 0 1 0 0 0 0 0 0 # Alpha & Gamma 3
+0 0 0 0 0 0 0 1 0 0 0 0 0 # Beta 3
+0 0 0 0 0 0 0 0 1 0 0 0 0 # Alpha & Gamma 4
+0 0 0 0 0 0 0 0 0 1 0 0 0 # Beta 4
+
+9 15
+# p0 p1 p2 p3 p4 p5 p6 p7 p8
+0 1 0 0 0 0 0 0 0 0 0 0 0 0 -3 # Beta 0
+0 0 1 0 0 0 0 0 0 0 -1 0 0 0 0 # Alpha & Gamma 1
+0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 # Beta 1
+0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 # Alpha & Gamma 2
+0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 # Beta 2
+0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 # Alpha & Gamma 3
+0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 # Beta 3
+0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 # Alpha & Gamma 4
+0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 # Beta 4
+
+9 15
+# p0 p1 p2 p3 p4 p5 p6 p7 p8
+0 1 0 0 0 0 0 0 0 0 0 0 0 0 -3 # Beta 0
+0 0 1 0 0 0 0 0 0 0 -1 0 0 0 0 # Alpha & Gamma 1
+0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 # Beta 1
+0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 # Alpha & Gamma 2
+0 0 0 0 0 1 0 0 0 0 0 0 0 0 -1 # Beta 2
+0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 # Alpha & Gamma 3
+0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 # Beta 3
+0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 # Alpha & Gamma 4
+0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 # Beta 4
+
+9 17
+# p0 p1 p2 p3 p4 p5 p6 p7 p8
+0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 # Beta 0
+0 0 1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 # Alpha & Gamma 1
+0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 # Beta 1
+0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 # Alpha & Gamma 2
+0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 # Beta 2
+0 0 0 0 0 0 1 0 0 0 0 0 -1 0 0 0 0 # Alpha & Gamma 3
+0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 # Beta 3
+0 0 0 0 0 0 0 0 1 0 0 0 0 -1 0 0 -1 # Alpha & Gamma 4
+0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 # Beta 4
+
+9 17
+# p0 p1 p2 p3 p4 p5 p6 p7 p8
+0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 # Beta 0
+0 0 1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 # Alpha & Gamma 1
+0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 # Beta 1
+0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 # Alpha & Gamma 2
+0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 # Beta 2
+0 0 0 0 0 0 1 0 0 0 0 0 -1 0 0 0 0 # Alpha & Gamma 3
+0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 # Beta 3
+0 0 0 0 0 0 0 0 1 0 0 0 0 -1 0 0 0 # Alpha & Gamma 4
+0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 # Beta 4
+
+9 13
+# p0 p1 p2 p3 p4 p5 p6 p7 p8
+0 1 0 0 0 0 0 0 0 0 0 0 -5 # Beta 0
+0 0 1 0 0 0 0 0 0 0 0 0 0 # Alpha & Gamma 1
+0 0 0 1 0 0 0 0 0 0 0 0 0 # Beta 1
+0 0 0 0 1 0 0 0 0 0 0 0 0 # Alpha & Gamma 2
+0 0 0 0 0 1 0 0 0 0 0 0 0 # Beta 2
+0 0 0 0 0 0 1 0 0 0 0 0 0 # Alpha & Gamma 3
+0 0 0 0 0 0 0 1 0 0 0 0 0 # Beta 3
+0 0 0 0 0 0 0 0 1 0 0 0 0 # Alpha & Gamma 4
+0 0 0 0 0 0 0 0 0 1 0 0 0 # Beta 4
+
+1 # Set the scattering parameter names.
+p0 p1 p2 p3 p4 p5 p6 p7 p8
+