aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSebastian Pop <sebastian.pop@amd.com>2010-03-13 17:35:37 +0000
committerSebastian Pop <spop@gcc.gnu.org>2010-03-13 17:35:37 +0000
commit113081e4d98737521979b47093ec64b065228b76 (patch)
treebba94bd55e9d9f8590df7204b7c083a411e09261 /gcc
parent248081bc932cc9f1bba6ce780d447070f6e9cd6f (diff)
downloadgcc-113081e4d98737521979b47093ec64b065228b76.zip
gcc-113081e4d98737521979b47093ec64b065228b76.tar.gz
gcc-113081e4d98737521979b47093ec64b065228b76.tar.bz2
Add testcase from PR43349.
2010-03-11 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/43349 * gfortran.dg/graphite/pr43349.f: New. From-SVN: r157439
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog.graphite5
-rw-r--r--gcc/testsuite/gfortran.dg/graphite/pr43349.f35
2 files changed, 40 insertions, 0 deletions
diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite
index abd9888..331c080 100644
--- a/gcc/ChangeLog.graphite
+++ b/gcc/ChangeLog.graphite
@@ -1,5 +1,10 @@
2010-03-11 Sebastian Pop <sebastian.pop@amd.com>
+ PR middle-end/43349
+ * gfortran.dg/graphite/pr43349.f: New.
+
+2010-03-11 Sebastian Pop <sebastian.pop@amd.com>
+
* graphite-clast-to-gimple.c (my_long_long): Defined.
(gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
* graphite-sese-to-poly.c (my_long_long): Defined.
diff --git a/gcc/testsuite/gfortran.dg/graphite/pr43349.f b/gcc/testsuite/gfortran.dg/graphite/pr43349.f
new file mode 100644
index 0000000..86e408f
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/graphite/pr43349.f
@@ -0,0 +1,35 @@
+! { dg-options "-O2 -floop-interchange" }
+
+ SUBROUTINE BUG(A,B,X,Y,Z,N)
+ IMPLICIT NONE
+ DOUBLE PRECISION A(*),B(*),X(*),Y(*),Z(*)
+ INTEGER N,J,K
+ K = 0
+ DO J = 1,N
+ K = K+1
+ X(K) = B(J+N*7)
+ Y(K) = B(J+N*8)
+ Z(K) = B(J+N*2) + A(J+N*2)
+ K = K+1
+ X(K) = B(J+N*3) + A(J+N*3)
+ Y(K) = B(J+N*9) + A(J)
+ Z(K) = B(J+N*15)
+ K = K+1
+ X(K) = B(J+N*4) + A(J+N*4)
+ Y(K) = B(J+N*15)
+ Z(K) = B(J+N*10) + A(J)
+ K = K+1
+ X(K) = B(J+N*11) + A(J+N)
+ Y(K) = B(J+N*5) + A(J+N*5)
+ Z(K) = B(J+N*16)
+ K = K+1
+ X(K) = B(J+N*16)
+ Y(K) = B(J+N*6) + A(J+N*6)
+ Z(K) = B(J+N*12) + A(J+N)
+ K = K+1
+ X(K) = B(J+N*13) + A(J+N*2)
+ Y(K) = B(J+N*17)
+ Z(K) = B(J+N*7) + A(J+N*7)
+ ENDDO
+ RETURN
+ END