diff options
Diffstat (limited to 'polly/test/CodeGen/pluto_matmult.ll')
-rw-r--r-- | polly/test/CodeGen/pluto_matmult.ll | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/polly/test/CodeGen/pluto_matmult.ll b/polly/test/CodeGen/pluto_matmult.ll index 11e0e52d2037..d94fcfba4454 100644 --- a/polly/test/CodeGen/pluto_matmult.ll +++ b/polly/test/CodeGen/pluto_matmult.ll @@ -1,7 +1,44 @@ ; RUN: opt %loadPolly %defaultOpts -polly-cloog -analyze %s | FileCheck %s ; RUN: opt %loadPolly %defaultOpts -polly-codegen %s > /dev/null ; RUN: opt %loadPolly %defaultOpts -polly-import-jscop -polly-import-jscop-dir=%S -polly-cloog -analyze -S %s | FileCheck -check-prefix=IMPORT %s -; ModuleID = 'pluto-matmul.s' + +;#define M 2048 +;#define N 2048 +;#define K 2048 +;#define alpha 1 +;#define beta 1 +;double A[M][K+13]; +;double B[K][N+13]; +;double C[M][N+13]; +; +;void init_array(); +;void print_array(); +; +;void pluto_matmult(void) { +; int i, j, k; +; +; __sync_synchronize(); +; for(i=0; i<M; i++) +; for(j=0; j<N; j++) +; for(k=0; k<K; k++) +; C[i][j] = beta*C[i][j] + alpha*A[i][k] * B[k][j]; +; __sync_synchronize(); +;} +; +;int main() +;{ +; register double s; +; +; init_array(); +; +;#pragma scop +; pluto_matmult(); +;#pragma endscop +; print_array(); +; +; return 0; +;} + target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" target triple = "x86_64-unknown-linux-gnu" |