re PR tree-optimization/48329 (Missed vectorization of reduction due to PRE)
authorRichard Biener <rguenther@suse.de>
Wed, 30 Apr 2014 11:43:41 +0000 (11:43 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 30 Apr 2014 11:43:41 +0000 (11:43 +0000)
2014-04-30  Richard Biener  <rguenther@suse.de>

PR tree-optimization/48329
* gfortran.dg/vect/pr48329.f90: New testcase.

From-SVN: r209930

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/vect/pr48329.f90 [new file with mode: 0644]

index f07c90a754612647dfd2c9b9467a1d1385e9c759..48da40119632e97587004431b04adc82452f162c 100644 (file)
@@ -1,3 +1,8 @@
+2014-04-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/48329
+       * gfortran.dg/vect/pr48329.f90: New testcase.
+
 2014-04-30  Marek Polacek  <polacek@redhat.com>
 
        * c-c++-common/ubsan/div-by-zero-5.c: Fix formatting.
diff --git a/gcc/testsuite/gfortran.dg/vect/pr48329.f90 b/gcc/testsuite/gfortran.dg/vect/pr48329.f90
new file mode 100644 (file)
index 0000000..6ad03d4
--- /dev/null
@@ -0,0 +1,29 @@
+! { dg-do compile }
+! { dg-require-effective-target vect_float }
+! { dg-require-effective-target vect_intfloat_cvt }
+! { dg-additional-options "-ffast-math" }
+
+program calcpi
+
+    implicit none
+    real(kind=4):: h,x,sum,pi
+    integer:: n,i
+    real(kind=4):: f
+
+   f(x) = 4.0/(1.0+x**2)
+
+   n = 2100000000
+
+   h= 1.0 / n
+   sum = 0.0
+  DO i=1, n
+     x = h * (i-0.5)
+     sum = sum + f(x)
+  END DO
+  pi = h * sum
+  write(*,*) 'Pi=',pi
+
+end program calcpi
+
+! { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } }
+! { dg-final { cleanup-tree-dump "vect" } }