[Bug middle-end/68565] New: [6 Regression] graphite : -O2 -floop-nest-optimize miscompile
Joost.VandeVondele at mat dot ethz.ch
gcc-bugzilla@gcc.gnu.org
Thu Nov 26 20:05:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68565
Bug ID: 68565
Summary: [6 Regression] graphite : -O2 -floop-nest-optimize
miscompile
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: Joost.VandeVondele at mat dot ethz.ch
Target Milestone: ---
current trunk lead to wrong code for the following testcase if
-floop-nest-optimize is used:
> cat test.f90
MODULE test
IMPLICIT NONE
TYPE subset_type
INTEGER :: ncon_tot
REAL(KIND=8),DIMENSION(:,:),ALLOCATABLE :: coeff
END TYPE
CONTAINS
SUBROUTINE foo(subset)
TYPE(subset_type) :: subset
INTEGER :: icon1
DO icon1=1,subset%ncon_tot
subset%coeff(:,icon1)=subset%coeff(:,icon1)/&
SQRT(DOT_PRODUCT(subset%coeff(:,icon1),subset%coeff(:,icon1)))
END DO
END SUBROUTINE
END MODULE
USE test
TYPE(subset_type) :: subset
INTEGER, VOLATILE :: n1=7,n2=4
ALLOCATE(subset%coeff(n1,n2))
CALL RANDOM_NUMBER(subset%coeff)
subset%coeff=subset%coeff-0.5
subset%ncon_tot=n2
CALL foo(subset)
WRITE(6,*) MAXVAL(subset%coeff)
END
> gfortran -g -O2 -floop-nest-optimize test.f90 && ./a.out
Program received signal SIGFPE: Floating-point exception - erroneous arithmetic
operation.
Backtrace for this error:
#0 0x302a43269f in ???
#1 0x40095a in __test_MOD_foo
at /data/vjoost/gnu/bugs/test.f90:13
#2 0x400bb8 in MAIN__
at /data/vjoost/gnu/bugs/test.f90:25
#3 0x4007dc in main
at /data/vjoost/gnu/bugs/test.f90:18
Floating point exception
> gfortran -g -O2 test.f90 && ./a.out
0.75457607554184802
> gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/data/vjoost/gnu/gcc_trunk/install/libexec/gcc/x86_64-pc-linux-gnu/6.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc/configure --prefix=/data/vjoost/gnu/gcc_trunk/install
--enable-languages=c,c++,fortran --disable-multilib --enable-plugins
--enable-lto --disable-bootstrap
Thread model: posix
gcc version 6.0.0 20151126 (experimental) [trunk revision 230923] (GCC)
More information about the Gcc-bugs
mailing list