| # 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 |
| |