blob: 29f9598a733e6b1b8a6ae9178bcaf21b5ee38a46 [file] [log] [blame]
# 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