With powerpc-apple-darwin7.9.0, version 4.3.0 20070223,
the polyhedron test 'fatigue.f90' (see
http://www.polyhedron.co.uk/pb05/polyhedron_benchmark_suite.html)
gives

...
Simulation terminated.
This sample will never fracture.
The imposed stress is below the fatigue limit.
See the output file for more information.

with optimisation -O1 and above.

It worked with 4.3.0 20070217. If I add the line

               if(coefficient == 1000.0) print *, n, coefficient  

after line 1428, the code works again.

I am attaching two reduced tests. The first one works without optimization,
gives

Simulation terminated.
     Spin cycle =           100000
     Time (sec)       =     2.77778E+01
The maximum number of simulation spin cycles was exceeded.

with -O1, and

This sample will never fracture.
The imposed stress is below the fatigue limit.

with -O2.

The second test is similar to the previous one but works with
-O3 -ffast-math -funroll-loops
I have commented several variants which break the code.
Of special interest is !4 where

              if (accumulated_plastic_strain < plastic_strain_threshold) then   
              else

is working, but not

              if (accumulated_plastic_strain >= plastic_strain_threshold) then  



Note that there is also some problems with the test 'induct.f90' see

http://gcc.gnu.org/ml/fortran/2007-02/msg00554.html


-- 
           Summary: The polyhedron test 'fatigue.f90' is no longer working.
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: regression
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dominiq at lps dot ens dot fr
GCC target triplet: powerpc-apple-darwin7


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30969

Reply via email to