I could reproduce this problem only on power4 hardware, running SUSE linux.
% uname -a Linux regsuse01 2.6.5-7-pseries64 #1 SMP Thu Apr 8 15:55:41 UTC 2004 ppc64 ppc64 ppc64 GNU/Linux % ~/gcc/bin/gfortran --version GNU Fortran 95 (GCC 4.0.0 20041027 (experimental)) Running SIXTRACK spec benchmark results in a miscompare, even with all optimizations turned off. The miscompare is caused by the following place in file eig66.f do 40 i=1,ndim2 if(abs(reval(i)**2+aieval(i)**2 -one).gt.c1m10) then write(6,*) ' EIG6: EIGENVALUES OFF THE UNIT CIRCLE!' return endif This code checks that the distance from computed complex eigenvalues to the unit circle is no more than 10**-10. With g77, the distance is about 10**-14, and I get similar results on other platforms with gfortran. On power4+gfortran the distance is about 10**-8, which triggers the error message and causes miscompare. There is some possibility that this problem is related to 17927. -- Summary: Miscompare in sixtrack benchmark caused by loss of precision Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: lei at il dot ibm dot com CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: powerpc64-unknown-linux-gnu GCC host triplet: powerpc64-unknown-linux-gnu GCC target triplet: powerpc64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18218