diff options
Diffstat (limited to 'examples/“')
-rw-r--r-- | examples/“ | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/examples/“ b/examples/“ new file mode 100644 index 0000000..985ecaa --- /dev/null +++ b/examples/“ @@ -0,0 +1,24 @@ +// this source is derived from CHILL AST originally from file 'mm.c' as parsed by frontend compiler clang + +void mm(float **A, float **B, float **C, int ambn, int an, int bm) { + int t6; + int t4; + int t2; + int over1; + 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 = 0 < ambn - over1 ? ambn - over1 : 0; t6 <= ambn - 1; t6 += 1) + C[t2][t4] += A[t2][t6] * B[t6][t4]; + } +} |