From a32776927ec9dd5757b52224d4cc63e80525adba Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Wed, 30 Apr 2014 11:43:41 +0000 Subject: [PATCH] re PR tree-optimization/48329 (Missed vectorization of reduction due to PRE) 2014-04-30 Richard Biener PR tree-optimization/48329 * gfortran.dg/vect/pr48329.f90: New testcase. From-SVN: r209930 --- gcc/testsuite/ChangeLog | 5 ++++ gcc/testsuite/gfortran.dg/vect/pr48329.f90 | 29 ++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 gcc/testsuite/gfortran.dg/vect/pr48329.f90 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f07c90a7546..48da4011963 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-04-30 Richard Biener + + PR tree-optimization/48329 + * gfortran.dg/vect/pr48329.f90: New testcase. + 2014-04-30 Marek Polacek * 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 index 00000000000..6ad03d4bd33 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/vect/pr48329.f90 @@ -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" } } -- 2.30.2