This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/33299] New: miscompilation with gfortran -O2 -ffast-math -ftree-vectorize
- From: "jpr at csc dot fi" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 4 Sep 2007 09:47:37 -0000
- Subject: [Bug tree-optimization/33299] New: miscompilation with gfortran -O2 -ffast-math -ftree-vectorize
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The following gets miscompiled with gcc 4.3, works with 4.2.0 & 4.2.1 at least.
PROGRAM test
REAL(8) :: f,dist(2)
dist = [1.0_8, 0.5_8]
PRINT*,f(1.0_8, dist), ' should be: ', MINVAL(dist)
END PROGRAM test
FUNCTION f( x, dist ) RESULT(s)
REAL(8) :: dist(2), x, s
s = MINVAL(dist)
IF( x < 0 ) s = -s
END FUNCTION f
gfortran -v -O2 -ffast-math -ftree-vectorize -o test test.f90
Driving: gfortran -v -O2 -ffast-math -ftree-vectorize -o test test.f90
-lgfortranbegin -lgfortra n -lm -shared-libgcc
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: /projects/tob/gcc/configure --enable-languages=c,fortran
--prefix=/projects/tob /gcc-trunk
Thread model: posix
gcc version 4.3.0 20070904 (experimental) [trunk revision 128067] (GCC)
COLLECT_GCC_OPTIONS='-v' '-O2' '-ffast-math' '-ftree-vectorize' '-o' 'test'
'-shared-libgcc' '-m tune=generic'
/wrk/jpr/gcc-trunk/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.3.0/f951
test.f90 -quiet -dump base test.f90 -mtune=generic -auxbase test -O2 -version
-ffast-math -ftree-vectorize -fintrinsic -modules-path
/wrk/jpr/gcc-trunk/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.3.0/finclude -o
/tmp/ jpr/ccEvFIMX.s
GNU F95 (GCC) version 4.3.0 20070904 (experimental) [trunk revision 128067]
(x86_64-unknown-linu x-gnu)
compiled by GNU C version 4.3.0 20070904 (experimental) [trunk revision
128067], GMP ver sion 4.2.1, MPFR version 2.2.1.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
COLLECT_GCC_OPTIONS='-v' '-O2' '-ffast-math' '-ftree-vectorize' '-o' 'test'
'-shared-libgcc' '-m tune=generic'
as -V -Qy -o /tmp/jpr/ccJEvzPa.o /tmp/jpr/ccEvFIMX.s
GNU assembler version 2.15.92.0.2 (x86_64-redhat-linux) using BFD version
2.15.92.0.2 20040927
COMPILER_PATH=/wrk/jpr/gcc-trunk/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.3.0/:/wrk/jpr/gcc
-trunk/bin/../libexec/gcc/
LIBRARY_PATH=/wrk/jpr/gcc-trunk/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.3.0/:/wrk/jpr/gcc-trun
k/bin/../lib/gcc/:/v/linux26_x86_64/opt/papi/3.5.0/lib64/../lib64/:/wrk/jpr/gcc-trunk/bin/../lib
/gcc/x86_64-unknown-linux-gnu/4.3.0/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/v/linu
x26_x86_64/opt/papi/3.5.0/lib64/:/wrk/jpr/gcc-trunk/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.3.
0/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-O2' '-ffast-math' '-ftree-vectorize' '-o' 'test'
'-shared-libgcc' '-m tune=generic'
/wrk/jpr/gcc-trunk/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.3.0/collect2
--eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o
test /usr/lib/../lib64/crt1.o /usr/li b/../lib64/crti.o
/wrk/jpr/gcc-trunk/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.3.0/crtbegin.o -L
/wrk/jpr/gcc-trunk/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.3.0
-L/wrk/jpr/gcc-trunk/bin/../lib /gcc
-L/v/linux26_x86_64/opt/papi/3.5.0/lib64/../lib64
-L/wrk/jpr/gcc-trunk/bin/../lib/gcc/x86_6
4-unknown-linux-gnu/4.3.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64
-L/v/linux26_x86 _64/opt/papi/3.5.0/lib64
-L/wrk/jpr/gcc-trunk/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.3.0/../. ./..
/tmp/jpr/ccJEvzPa.o -lgfortranbegin -lgfortran -lm -lgcc_s -lgcc -lc -lgcc_s
-lgcc /wrk/jpr
/gcc-trunk/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.3.0/crtfastmath.o
/wrk/jpr/gcc-trunk/bin/.. /lib/gcc/x86_64-unknown-linux-gnu/4.3.0/crtend.o
/usr/lib/../lib64/crtn.o
./test
1.00000000000000 should be: 0.500000000000000
Regrads, Juha
--
Summary: miscompilation with gfortran -O2 -ffast-math -ftree-
vectorize
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jpr at csc dot fi
GCC host triplet: x86_64 linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33299