summaryrefslogtreecommitdiff
path: root/polly/test/CodeGen/pluto_matmult.ll
diff options
context:
space:
mode:
Diffstat (limited to 'polly/test/CodeGen/pluto_matmult.ll')
-rw-r--r--polly/test/CodeGen/pluto_matmult.ll39
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"