diff options
author | Derick Huth <derickhuth@gmail.com> | 2016-01-18 15:43:52 -0700 |
---|---|---|
committer | Derick Huth <derickhuth@gmail.com> | 2016-01-18 15:43:52 -0700 |
commit | 983749787ee0dc1beb1107873e8a13ebdaeba576 (patch) | |
tree | e9bff337b4d5582b87ad2edc25baa4d3b0c163fa /verify-chill | |
parent | 0cff3f9a3c4ccd434900162ebef4bd814850f481 (diff) | |
download | chill-983749787ee0dc1beb1107873e8a13ebdaeba576.tar.gz chill-983749787ee0dc1beb1107873e8a13ebdaeba576.tar.bz2 chill-983749787ee0dc1beb1107873e8a13ebdaeba576.zip |
restore test suite
Diffstat (limited to 'verify-chill')
57 files changed, 1171 insertions, 0 deletions
diff --git a/verify-chill/mm.c b/verify-chill/mm.c new file mode 100644 index 0000000..354d929 --- /dev/null +++ b/verify-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/verify-chill/runtests b/verify-chill/runtests new file mode 100755 index 0000000..e5021f8 --- /dev/null +++ b/verify-chill/runtests @@ -0,0 +1,17 @@ +#/bin/sh +for file in *.py; do + echo -n "Testing " + echo -n $file | sed 's/test_//g;s/.py//g' + echo -n " ... " + ../chill $file > /dev/null 2>&1 + cmp -s rose_mm.c with/$file.out + if [ $? -eq 0 ] + then echo OK + else + cmp -s rose_mm.c without/$file.out + if [ $? -eq 0 ]; then echo OK; else echo failed; fi + fi +done +rm rose_mm.c + + diff --git a/verify-chill/test_distribute.py b/verify-chill/test_distribute.py new file mode 100644 index 0000000..760d29f --- /dev/null +++ b/verify-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/verify-chill/test_fuse.py b/verify-chill/test_fuse.py new file mode 100644 index 0000000..32c594c --- /dev/null +++ b/verify-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/verify-chill/test_known.py b/verify-chill/test_known.py new file mode 100644 index 0000000..662d7d0 --- /dev/null +++ b/verify-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/verify-chill/test_known_2.py b/verify-chill/test_known_2.py new file mode 100644 index 0000000..5b16325 --- /dev/null +++ b/verify-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/verify-chill/test_original.py b/verify-chill/test_original.py new file mode 100644 index 0000000..2d17799 --- /dev/null +++ b/verify-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/verify-chill/test_peel.py b/verify-chill/test_peel.py new file mode 100644 index 0000000..bb6c583 --- /dev/null +++ b/verify-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/verify-chill/test_permute.py b/verify-chill/test_permute.py new file mode 100644 index 0000000..ff4a42a --- /dev/null +++ b/verify-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,2,1]) +print_code() diff --git a/verify-chill/test_print_code.py b/verify-chill/test_print_code.py new file mode 100644 index 0000000..004c46c --- /dev/null +++ b/verify-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/verify-chill/test_print_dep.py b/verify-chill/test_print_dep.py new file mode 100644 index 0000000..a3dee29 --- /dev/null +++ b/verify-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/verify-chill/test_print_space.py b/verify-chill/test_print_space.py new file mode 100644 index 0000000..2f8f678 --- /dev/null +++ b/verify-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/verify-chill/test_reverse.py b/verify-chill/test_reverse.py new file mode 100644 index 0000000..a97c611 --- /dev/null +++ b/verify-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/verify-chill/test_scale.py b/verify-chill/test_scale.py new file mode 100644 index 0000000..ee8455d --- /dev/null +++ b/verify-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/verify-chill/test_shift.py b/verify-chill/test_shift.py new file mode 100644 index 0000000..b3fc6ab --- /dev/null +++ b/verify-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/verify-chill/test_shift_to.py b/verify-chill/test_shift_to.py new file mode 100644 index 0000000..f3537c5 --- /dev/null +++ b/verify-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/verify-chill/test_skew.py b/verify-chill/test_skew.py new file mode 100644 index 0000000..c7271f4 --- /dev/null +++ b/verify-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/verify-chill/test_tile.py b/verify-chill/test_tile.py new file mode 100644 index 0000000..fbe0368 --- /dev/null +++ b/verify-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/verify-chill/test_unroll.py b/verify-chill/test_unroll.py new file mode 100644 index 0000000..39dd0db --- /dev/null +++ b/verify-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/verify-chill/test_unroll_extra.py b/verify-chill/test_unroll_extra.py new file mode 100644 index 0000000..929313c --- /dev/null +++ b/verify-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/verify-chill/testrun.log b/verify-chill/testrun.log new file mode 100644 index 0000000..7611517 --- /dev/null +++ b/verify-chill/testrun.log @@ -0,0 +1,16 @@ +Test Run By bobw on Mon Sep 21 12:59:26 2015 +Native configuration is x86_64-unknown-linux-gnu + + === tests === + +Schedule of variations: + unix + +Running target unix +Using /usr/local/share/dejagnu/baseboards/unix.exp as board description file for target. +Using /usr/local/share/dejagnu/config/unix.exp as generic interface file for target. +WARNING: Couldn't find tool config file for unix, using default. + + === Summary === + +runtest completed at Mon Sep 21 12:59:26 2015 diff --git a/verify-chill/with/test_distribute.py.out b/verify-chill/with/test_distribute.py.out new file mode 100644 index 0000000..f071e87 --- /dev/null +++ b/verify-chill/with/test_distribute.py.out @@ -0,0 +1,19 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) + C[t2][t4] = 0.0f; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) + for (t6 = 0; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += (A[t2][t6] * B[t6][t4]); +} diff --git a/verify-chill/with/test_fuse.py.out b/verify-chill/with/test_fuse.py.out new file mode 100644 index 0000000..062bd15 --- /dev/null +++ b/verify-chill/with/test_fuse.py.out @@ -0,0 +1,19 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + C[t2][t4] = 0.0f; + C[t2][t4] += (A[t2][0] * B[0][t4]); + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += (A[t2][t6] * B[t6][t4]); + } +} diff --git a/verify-chill/with/test_known.py.out b/verify-chill/with/test_known.py.out new file mode 100644 index 0000000..062bd15 --- /dev/null +++ b/verify-chill/with/test_known.py.out @@ -0,0 +1,19 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + C[t2][t4] = 0.0f; + C[t2][t4] += (A[t2][0] * B[0][t4]); + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += (A[t2][t6] * B[t6][t4]); + } +} diff --git a/verify-chill/with/test_known_2.py.out b/verify-chill/with/test_known_2.py.out new file mode 100644 index 0000000..062bd15 --- /dev/null +++ b/verify-chill/with/test_known_2.py.out @@ -0,0 +1,19 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + C[t2][t4] = 0.0f; + C[t2][t4] += (A[t2][0] * B[0][t4]); + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += (A[t2][t6] * B[t6][t4]); + } +} diff --git a/verify-chill/with/test_original.py.out b/verify-chill/with/test_original.py.out new file mode 100644 index 0000000..3d84795 --- /dev/null +++ b/verify-chill/with/test_original.py.out @@ -0,0 +1,34 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int chill_t12; + int chill_t11; + int chill_t10; + int chill_t9; + int chill_t8; + int chill_t7; + int chill_t6; + int chill_t5; + int chill_t4; + int chill_t3; + int chill_t2; + int chill_t1; + int i; + int j; + int n; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + C[t2][t4] = 0.0f; + C[t2][t4] += (A[t2][0] * B[0][t4]); + C[t2][t4] += (A[t2][1] * B[1][t4]); + C[t2][t4] += (A[t2][2] * B[2][t4]); + C[t2][t4] += (A[t2][3] * B[3][t4]); + for (t6 = 4; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += (A[t2][t6] * B[t6][t4]); + } +} diff --git a/verify-chill/with/test_peel.py.out b/verify-chill/with/test_peel.py.out new file mode 100644 index 0000000..3d84795 --- /dev/null +++ b/verify-chill/with/test_peel.py.out @@ -0,0 +1,34 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int chill_t12; + int chill_t11; + int chill_t10; + int chill_t9; + int chill_t8; + int chill_t7; + int chill_t6; + int chill_t5; + int chill_t4; + int chill_t3; + int chill_t2; + int chill_t1; + int i; + int j; + int n; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + C[t2][t4] = 0.0f; + C[t2][t4] += (A[t2][0] * B[0][t4]); + C[t2][t4] += (A[t2][1] * B[1][t4]); + C[t2][t4] += (A[t2][2] * B[2][t4]); + C[t2][t4] += (A[t2][3] * B[3][t4]); + for (t6 = 4; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += (A[t2][t6] * B[t6][t4]); + } +} diff --git a/verify-chill/with/test_permute.py.out b/verify-chill/with/test_permute.py.out new file mode 100644 index 0000000..709b7ae --- /dev/null +++ b/verify-chill/with/test_permute.py.out @@ -0,0 +1,22 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 0; t2 <= ambn - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) + if (t2 <= 0) + for (t6 = 0; t6 <= an - 1; t6 += 1) { + C[t6][t4] = 0.0f; + C[t6][t4] += (A[t6][t2] * B[t2][t4]); + } + else + for (t6 = 0; t6 <= an - 1; t6 += 1) + C[t6][t4] += (A[t6][t2] * B[t2][t4]); +} diff --git a/verify-chill/with/test_print_code.py.out b/verify-chill/with/test_print_code.py.out new file mode 100644 index 0000000..f6e21a7 --- /dev/null +++ b/verify-chill/with/test_print_code.py.out @@ -0,0 +1,24 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + if (1 <= bm) + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + if (1 <= ambn) { + C[t2][t4] = 0.0f; + C[t2][t4] += (A[t2][0] * B[0][t4]); + } + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += (A[t2][t6] * B[t6][t4]); + if (ambn <= 0) + C[t2][t4] = 0.0f; + } +} diff --git a/verify-chill/with/test_print_dep.py.out b/verify-chill/with/test_print_dep.py.out new file mode 100644 index 0000000..f6e21a7 --- /dev/null +++ b/verify-chill/with/test_print_dep.py.out @@ -0,0 +1,24 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + if (1 <= bm) + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + if (1 <= ambn) { + C[t2][t4] = 0.0f; + C[t2][t4] += (A[t2][0] * B[0][t4]); + } + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += (A[t2][t6] * B[t6][t4]); + if (ambn <= 0) + C[t2][t4] = 0.0f; + } +} diff --git a/verify-chill/with/test_print_space.py.out b/verify-chill/with/test_print_space.py.out new file mode 100644 index 0000000..f6e21a7 --- /dev/null +++ b/verify-chill/with/test_print_space.py.out @@ -0,0 +1,24 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + if (1 <= bm) + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + if (1 <= ambn) { + C[t2][t4] = 0.0f; + C[t2][t4] += (A[t2][0] * B[0][t4]); + } + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += (A[t2][t6] * B[t6][t4]); + if (ambn <= 0) + C[t2][t4] = 0.0f; + } +} diff --git a/verify-chill/with/test_reverse.py.out b/verify-chill/with/test_reverse.py.out new file mode 100644 index 0000000..1e9c9b6 --- /dev/null +++ b/verify-chill/with/test_reverse.py.out @@ -0,0 +1,19 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) + C[t2][t4] = 0.0f; + for (t2 = -an + 1; t2 <= 0; t2 += 1) + for (t4 = -bm + 1; t4 <= 0; t4 += 1) + for (t6 = 0; t6 <= ambn - 1; t6 += 1) + C[-t2][-t4] += (A[-t2][t6] * B[t6][-t4]); +} diff --git a/verify-chill/with/test_scale.py.out b/verify-chill/with/test_scale.py.out new file mode 100644 index 0000000..dff7515 --- /dev/null +++ b/verify-chill/with/test_scale.py.out @@ -0,0 +1,19 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) + C[t2][t4] = 0.0f; + 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 += 1) + C[t2 / 4][t4 / 4] += (A[t2 / 4][t6] * B[t6][t4 / 4]); +} diff --git a/verify-chill/with/test_shift.py.out b/verify-chill/with/test_shift.py.out new file mode 100644 index 0000000..6eaa244 --- /dev/null +++ b/verify-chill/with/test_shift.py.out @@ -0,0 +1,25 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 0; t2 <= an + 3; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) + if (t2 + 1 <= an) { + C[t2][t4] = 0.0f; + if (4 <= t2) + C[t2 - 4][t4] += (A[t2 - 4][0] * B[0][t4]); + if (4 <= t2) + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2 - 4][t4] += (A[t2 - 4][t6] * B[t6][t4]); + } + else if (4 <= t2) + for (t6 = 0; t6 <= ambn - 1; t6 += 1) + C[t2 - 4][t4] += (A[t2 - 4][t6] * B[t6][t4]); +} diff --git a/verify-chill/with/test_shift_to.py.out b/verify-chill/with/test_shift_to.py.out new file mode 100644 index 0000000..01c7ff8 --- /dev/null +++ b/verify-chill/with/test_shift_to.py.out @@ -0,0 +1,19 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 4; t2 <= an + 3; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + C[t2 - 4][t4] = 0.0f; + C[t2 - 4][t4] += (A[t2 - 4][0] * B[0][t4]); + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2 - 4][t4] += (A[t2 - 4][t6] * B[t6][t4]); + } +} diff --git a/verify-chill/with/test_skew.py.out b/verify-chill/with/test_skew.py.out new file mode 100644 index 0000000..b3da044 --- /dev/null +++ b/verify-chill/with/test_skew.py.out @@ -0,0 +1,25 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 0; t2 <= 4 * an - 4; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + if (t2 + 1 <= an) { + C[t2][t4] = 0.0f; + if (t2 % 4 == 0) + C[t2 / 4][t4] += (A[t2 / 4][0] * B[0][t4]); + } + else if (t2 % 4 == 0) + C[t2 / 4][t4] += (A[t2 / 4][0] * B[0][t4]); + if (t2 % 4 == 0) + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2 / 4][t4] += (A[t2 / 4][t6] * B[t6][t4]); + } +} diff --git a/verify-chill/with/test_tile.py.out b/verify-chill/with/test_tile.py.out new file mode 100644 index 0000000..47bae06 --- /dev/null +++ b/verify-chill/with/test_tile.py.out @@ -0,0 +1,26 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t8; + int t6; + int t4; + int t2; + int i; + int j; + int n; + if (1 <= an) + for (t2 = 0; t2 <= bm - 1; t2 += 4) + for (t4 = 0; t4 <= an - 1; t4 += 1) + for (t6 = t2; t6 <= __rose_lt(bm - 1,t2 + 3); t6 += 1) { + if (1 <= ambn) { + C[t4][t6] = 0.0f; + C[t4][t6] += (A[t4][0] * B[0][t6]); + } + for (t8 = 1; t8 <= ambn - 1; t8 += 1) + C[t4][t6] += (A[t4][t8] * B[t8][t6]); + if (ambn <= 0) + C[t4][t6] = 0.0f; + } +} diff --git a/verify-chill/with/test_unroll.py.out b/verify-chill/with/test_unroll.py.out new file mode 100644 index 0000000..7770c60 --- /dev/null +++ b/verify-chill/with/test_unroll.py.out @@ -0,0 +1,38 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int chill_t9; + int chill_t8; + int chill_t7; + int chill_t6; + int chill_t5; + int chill_t4; + int over1; + int chill_t3; + int chill_t2; + int chill_t1; + int i; + int j; + int n; + over1 = 0; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) + C[t2][t4] = 0.0f; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + over1 = ambn % 4; + for (t6 = 0; t6 <= -over1 + ambn - 1; t6 += 4) { + C[t2][t4] += (A[t2][t6] * B[t6][t4]); + C[t2][t4] += (A[t2][t6 + 1] * B[t6 + 1][t4]); + C[t2][t4] += (A[t2][t6 + 2] * B[t6 + 2][t4]); + C[t2][t4] += (A[t2][t6 + 3] * B[t6 + 3][t4]); + } + for (t6 = __rose_gt(0,ambn - over1); t6 <= ambn - 1; t6 += 1) + C[t2][t4] += (A[t2][t6] * B[t6][t4]); + } +} diff --git a/verify-chill/with/test_unroll_extra.py.out b/verify-chill/with/test_unroll_extra.py.out new file mode 100644 index 0000000..232d1c8 --- /dev/null +++ b/verify-chill/with/test_unroll_extra.py.out @@ -0,0 +1,51 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int chill_t12; + int chill_t11; + int chill_t10; + int chill_t9; + int chill_t8; + int chill_t7; + int chill_t6; + int chill_t5; + int chill_t4; + int over1; + int chill_t3; + int chill_t2; + int chill_t1; + int i; + int j; + int n; + over1 = 0; + for (t2 = 0; t2 <= an - 1; t2 += 1) { + over1 = bm % 4; + for (t4 = 0; t4 <= -over1 + bm - 1; t4 += 4) { + C[t2][t4] = 0.0f; + C[t2][t4] += (A[t2][0] * B[0][t4]); + C[t2][t4 + 1] = 0.0f; + C[t2][t4 + 1] += (A[t2][0] * B[0][t4 + 1]); + C[t2][t4 + 2] = 0.0f; + C[t2][t4 + 2] += (A[t2][0] * B[0][t4 + 2]); + C[t2][t4 + 3] = 0.0f; + C[t2][t4 + 3] += (A[t2][0] * B[0][t4 + 3]); + for (t6 = 1; t6 <= ambn - 1; t6 += 1) { + C[t2][t4] += (A[t2][t6] * B[t6][t4]); + C[t2][t4 + 1] += (A[t2][t6] * B[t6][t4 + 1]); + C[t2][t4 + 2] += (A[t2][t6] * B[t6][t4 + 2]); + C[t2][t4 + 3] += (A[t2][t6] * B[t6][t4 + 3]); + } + } + for (t4 = __rose_gt(bm - over1,0); t4 <= bm - 1; t4 += 1) { + C[t2][t4] = 0.0f; + C[t2][t4] += (A[t2][0] * B[0][t4]); + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += (A[t2][t6] * B[t6][t4]); + } + } +} diff --git a/verify-chill/without/test_distribute.py.out b/verify-chill/without/test_distribute.py.out new file mode 100644 index 0000000..e90e735 --- /dev/null +++ b/verify-chill/without/test_distribute.py.out @@ -0,0 +1,19 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) + C[t2][t4] = 0.0f; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) + for (t6 = 0; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += A[t2][t6] * B[t6][t4]; +} diff --git a/verify-chill/without/test_fuse.py.out b/verify-chill/without/test_fuse.py.out new file mode 100644 index 0000000..e8f0856 --- /dev/null +++ b/verify-chill/without/test_fuse.py.out @@ -0,0 +1,19 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + C[t2][t4] = 0.0f; + C[t2][t4] += A[t2][0] * B[0][t4]; + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += A[t2][t6] * B[t6][t4]; + } +} diff --git a/verify-chill/without/test_known.py.out b/verify-chill/without/test_known.py.out new file mode 100644 index 0000000..e8f0856 --- /dev/null +++ b/verify-chill/without/test_known.py.out @@ -0,0 +1,19 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + C[t2][t4] = 0.0f; + C[t2][t4] += A[t2][0] * B[0][t4]; + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += A[t2][t6] * B[t6][t4]; + } +} diff --git a/verify-chill/without/test_known_2.py.out b/verify-chill/without/test_known_2.py.out new file mode 100644 index 0000000..e8f0856 --- /dev/null +++ b/verify-chill/without/test_known_2.py.out @@ -0,0 +1,19 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + C[t2][t4] = 0.0f; + C[t2][t4] += A[t2][0] * B[0][t4]; + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += A[t2][t6] * B[t6][t4]; + } +} diff --git a/verify-chill/without/test_original.py.out b/verify-chill/without/test_original.py.out new file mode 100644 index 0000000..15cfc7b --- /dev/null +++ b/verify-chill/without/test_original.py.out @@ -0,0 +1,34 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int chill_t12; + int chill_t11; + int chill_t10; + int chill_t9; + int chill_t8; + int chill_t7; + int chill_t6; + int chill_t5; + int chill_t4; + int chill_t3; + int chill_t2; + int chill_t1; + int i; + int j; + int n; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + C[t2][t4] = 0.0f; + C[t2][t4] += A[t2][0] * B[0][t4]; + C[t2][t4] += A[t2][1] * B[1][t4]; + C[t2][t4] += A[t2][2] * B[2][t4]; + C[t2][t4] += A[t2][3] * B[3][t4]; + for (t6 = 4; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += A[t2][t6] * B[t6][t4]; + } +} diff --git a/verify-chill/without/test_peel.py.out b/verify-chill/without/test_peel.py.out new file mode 100644 index 0000000..15cfc7b --- /dev/null +++ b/verify-chill/without/test_peel.py.out @@ -0,0 +1,34 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int chill_t12; + int chill_t11; + int chill_t10; + int chill_t9; + int chill_t8; + int chill_t7; + int chill_t6; + int chill_t5; + int chill_t4; + int chill_t3; + int chill_t2; + int chill_t1; + int i; + int j; + int n; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + C[t2][t4] = 0.0f; + C[t2][t4] += A[t2][0] * B[0][t4]; + C[t2][t4] += A[t2][1] * B[1][t4]; + C[t2][t4] += A[t2][2] * B[2][t4]; + C[t2][t4] += A[t2][3] * B[3][t4]; + for (t6 = 4; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += A[t2][t6] * B[t6][t4]; + } +} diff --git a/verify-chill/without/test_permute.py.out b/verify-chill/without/test_permute.py.out new file mode 100644 index 0000000..5aeecfd --- /dev/null +++ b/verify-chill/without/test_permute.py.out @@ -0,0 +1,22 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 0; t2 <= ambn - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) + if (t2 <= 0) + for (t6 = 0; t6 <= an - 1; t6 += 1) { + C[t6][t4] = 0.0f; + C[t6][t4] += A[t6][t2] * B[t2][t4]; + } + else + for (t6 = 0; t6 <= an - 1; t6 += 1) + C[t6][t4] += A[t6][t2] * B[t2][t4]; +} diff --git a/verify-chill/without/test_print_code.py.out b/verify-chill/without/test_print_code.py.out new file mode 100644 index 0000000..f96eb53 --- /dev/null +++ b/verify-chill/without/test_print_code.py.out @@ -0,0 +1,24 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + if (1 <= bm) + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + if (1 <= ambn) { + C[t2][t4] = 0.0f; + C[t2][t4] += A[t2][0] * B[0][t4]; + } + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += A[t2][t6] * B[t6][t4]; + if (ambn <= 0) + C[t2][t4] = 0.0f; + } +} diff --git a/verify-chill/without/test_print_dep.py.out b/verify-chill/without/test_print_dep.py.out new file mode 100644 index 0000000..f96eb53 --- /dev/null +++ b/verify-chill/without/test_print_dep.py.out @@ -0,0 +1,24 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + if (1 <= bm) + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + if (1 <= ambn) { + C[t2][t4] = 0.0f; + C[t2][t4] += A[t2][0] * B[0][t4]; + } + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += A[t2][t6] * B[t6][t4]; + if (ambn <= 0) + C[t2][t4] = 0.0f; + } +} diff --git a/verify-chill/without/test_print_space.py.out b/verify-chill/without/test_print_space.py.out new file mode 100644 index 0000000..f96eb53 --- /dev/null +++ b/verify-chill/without/test_print_space.py.out @@ -0,0 +1,24 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + if (1 <= bm) + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + if (1 <= ambn) { + C[t2][t4] = 0.0f; + C[t2][t4] += A[t2][0] * B[0][t4]; + } + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += A[t2][t6] * B[t6][t4]; + if (ambn <= 0) + C[t2][t4] = 0.0f; + } +} diff --git a/verify-chill/without/test_reverse.py.out b/verify-chill/without/test_reverse.py.out new file mode 100644 index 0000000..617d115 --- /dev/null +++ b/verify-chill/without/test_reverse.py.out @@ -0,0 +1,19 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) + C[t2][t4] = 0.0f; + for (t2 = -an + 1; t2 <= 0; t2 += 1) + for (t4 = -bm + 1; t4 <= 0; t4 += 1) + for (t6 = 0; t6 <= ambn - 1; t6 += 1) + C[-t2][-t4] += A[-t2][t6] * B[t6][-t4]; +} diff --git a/verify-chill/without/test_scale.py.out b/verify-chill/without/test_scale.py.out new file mode 100644 index 0000000..0f7be2a --- /dev/null +++ b/verify-chill/without/test_scale.py.out @@ -0,0 +1,19 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) + C[t2][t4] = 0.0f; + 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 += 1) + C[t2 / 4][t4 / 4] += A[t2 / 4][t6] * B[t6][t4 / 4]; +} diff --git a/verify-chill/without/test_shift.py.out b/verify-chill/without/test_shift.py.out new file mode 100644 index 0000000..a26758b --- /dev/null +++ b/verify-chill/without/test_shift.py.out @@ -0,0 +1,25 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 0; t2 <= an + 3; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) + if (t2 + 1 <= an) { + C[t2][t4] = 0.0f; + if (4 <= t2) + C[t2 - 4][t4] += A[t2 - 4][0] * B[0][t4]; + if (4 <= t2) + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2 - 4][t4] += A[t2 - 4][t6] * B[t6][t4]; + } + else if (4 <= t2) + for (t6 = 0; t6 <= ambn - 1; t6 += 1) + C[t2 - 4][t4] += A[t2 - 4][t6] * B[t6][t4]; +} diff --git a/verify-chill/without/test_shift_to.py.out b/verify-chill/without/test_shift_to.py.out new file mode 100644 index 0000000..b29724c --- /dev/null +++ b/verify-chill/without/test_shift_to.py.out @@ -0,0 +1,19 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 4; t2 <= an + 3; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + C[t2 - 4][t4] = 0.0f; + C[t2 - 4][t4] += A[t2 - 4][0] * B[0][t4]; + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2 - 4][t4] += A[t2 - 4][t6] * B[t6][t4]; + } +} diff --git a/verify-chill/without/test_skew.py.out b/verify-chill/without/test_skew.py.out new file mode 100644 index 0000000..04c4208 --- /dev/null +++ b/verify-chill/without/test_skew.py.out @@ -0,0 +1,25 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int i; + int j; + int n; + for (t2 = 0; t2 <= 4 * an - 4; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + if (t2 + 1 <= an) { + C[t2][t4] = 0.0f; + if (t2 % 4 == 0) + C[t2 / 4][t4] += A[t2 / 4][0] * B[0][t4]; + } + else if (t2 % 4 == 0) + C[t2 / 4][t4] += A[t2 / 4][0] * B[0][t4]; + if (t2 % 4 == 0) + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2 / 4][t4] += A[t2 / 4][t6] * B[t6][t4]; + } +} diff --git a/verify-chill/without/test_tile.py.out b/verify-chill/without/test_tile.py.out new file mode 100644 index 0000000..e59933e --- /dev/null +++ b/verify-chill/without/test_tile.py.out @@ -0,0 +1,26 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t8; + int t6; + int t4; + int t2; + int i; + int j; + int n; + if (1 <= an) + for (t2 = 0; t2 <= bm - 1; t2 += 4) + for (t4 = 0; t4 <= an - 1; t4 += 1) + for (t6 = t2; t6 <= __rose_lt(bm - 1,t2 + 3); t6 += 1) { + if (1 <= ambn) { + C[t4][t6] = 0.0f; + C[t4][t6] += A[t4][0] * B[0][t6]; + } + for (t8 = 1; t8 <= ambn - 1; t8 += 1) + C[t4][t6] += A[t4][t8] * B[t8][t6]; + if (ambn <= 0) + C[t4][t6] = 0.0f; + } +} diff --git a/verify-chill/without/test_unroll.py.out b/verify-chill/without/test_unroll.py.out new file mode 100644 index 0000000..91bfa4f --- /dev/null +++ b/verify-chill/without/test_unroll.py.out @@ -0,0 +1,38 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int chill_t9; + int chill_t8; + int chill_t7; + int chill_t6; + int chill_t5; + int chill_t4; + int over1; + int chill_t3; + int chill_t2; + int chill_t1; + int i; + int j; + int n; + over1 = 0; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) + C[t2][t4] = 0.0f; + for (t2 = 0; t2 <= an - 1; t2 += 1) + for (t4 = 0; t4 <= bm - 1; t4 += 1) { + over1 = ambn % 4; + for (t6 = 0; t6 <= -over1 + ambn - 1; t6 += 4) { + C[t2][t4] += A[t2][t6] * B[t6][t4]; + C[t2][t4] += A[t2][t6 + 1] * B[t6 + 1][t4]; + C[t2][t4] += A[t2][t6 + 2] * B[t6 + 2][t4]; + C[t2][t4] += A[t2][t6 + 3] * B[t6 + 3][t4]; + } + for (t6 = __rose_gt(0,ambn - over1); t6 <= ambn - 1; t6 += 1) + C[t2][t4] += A[t2][t6] * B[t6][t4]; + } +} diff --git a/verify-chill/without/test_unroll_extra.py.out b/verify-chill/without/test_unroll_extra.py.out new file mode 100644 index 0000000..2126860 --- /dev/null +++ b/verify-chill/without/test_unroll_extra.py.out @@ -0,0 +1,51 @@ +#define __rose_lt(x,y) ((x)<(y)?(x):(y)) +#define __rose_gt(x,y) ((x)>(y)?(x):(y)) + +void mm(float **A,float **B,float **C,int ambn,int an,int bm) +{ + int t6; + int t4; + int t2; + int chill_t12; + int chill_t11; + int chill_t10; + int chill_t9; + int chill_t8; + int chill_t7; + int chill_t6; + int chill_t5; + int chill_t4; + int over1; + int chill_t3; + int chill_t2; + int chill_t1; + int i; + int j; + int n; + over1 = 0; + for (t2 = 0; t2 <= an - 1; t2 += 1) { + over1 = bm % 4; + for (t4 = 0; t4 <= -over1 + bm - 1; t4 += 4) { + C[t2][t4] = 0.0f; + C[t2][t4] += A[t2][0] * B[0][t4]; + C[t2][t4 + 1] = 0.0f; + C[t2][t4 + 1] += A[t2][0] * B[0][t4 + 1]; + C[t2][t4 + 2] = 0.0f; + C[t2][t4 + 2] += A[t2][0] * B[0][t4 + 2]; + C[t2][t4 + 3] = 0.0f; + C[t2][t4 + 3] += A[t2][0] * B[0][t4 + 3]; + for (t6 = 1; t6 <= ambn - 1; t6 += 1) { + C[t2][t4] += A[t2][t6] * B[t6][t4]; + C[t2][t4 + 1] += A[t2][t6] * B[t6][t4 + 1]; + C[t2][t4 + 2] += A[t2][t6] * B[t6][t4 + 2]; + C[t2][t4 + 3] += A[t2][t6] * B[t6][t4 + 3]; + } + } + for (t4 = __rose_gt(bm - over1,0); t4 <= bm - 1; t4 += 1) { + C[t2][t4] = 0.0f; + C[t2][t4] += A[t2][0] * B[0][t4]; + for (t6 = 1; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += A[t2][t6] * B[t6][t4]; + } + } +} |