This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] Merge criteria for tree-ssa


On Thu, Feb 05, 2004 at 04:09:26PM +0000, Joost VandeVondele wrote:
> 
> I think that it would therefore be appropriate to have some kind of
> quality criterium for gfortran, to ensure that a functional fortran
> compiler will remain part of mainline gcc (useful for some part
> of the scientific community). Running the g77 testsuite without new
> regressions seems like asking a bit too much

g77 defines a boat load of extensions to the Fortran 77 standard.
Supporting the g77 language is much different than supporting F77.

> (also because gfortran intends to be a fortran 95 compiler),

A Fortran 77 conforming program is a Fortran 95 conforming program.

> but compiling e.g. lapack and running the testsuite without new
> regressions could be more reasonable (this is what g95.sourceforge.net
> is presently able to do, it is still strongly f77 biased, but I think
> mostly legal f95).

For testing conformance to the Fortran 77 standard, you should run
gfortran with the NIST testsuite.  There are 4 main problems:
(1) characters in COMMON or EQUIVALENCE statements.
(2) arrays of CHARACTER strings
(3) non-integral DO LOOP variables
(4) ICE on ENTRY statement

> The fortran parts of the spec benchmarks seem also good candidates,
> since several people have already filed detailed bug reports. Ideally,
> compiling some larger f9X programs correctly would be nice.

I run 225000 lines of code through gfortran several times a week.
This only checks for compile regressions because of several gfc_todo
failures prevent creation of my math library [See (1) and (2) above].


On the bright, a 27 Jan 04 gfortran produced the following benchmark
numbers on one of may codes:

Time
6.92   gfortran -x f95 -o zz -O0 -static shell.f
3.74   gfortran -x f95 -o zz -O1 -static shell.f
3.12   gfortran -x f95 -o zz -O2 -static shell.f
2.83   f95 -o zz -O2 -dusty -Bstatic shell.f
 
6.76   gfortran -x f95 -o zz -march=athlon -O0 -static shell.f
3.16   gfortran -x f95 -o zz -march=athlon -O1 -static shell.f
2.74   gfortran -x f95 -o zz -march=athlon -O2 -static shell.f
2.82   f95 -Wc,-match=athlon -o zz -O2 -dusty -Bstatic shell.f

Time is in seconds and the average of 3 runs.  f95 is a commercially
available compiler for the FreeBSD platform.  Finally, gfortran 
produced the correct answer. :-)

-- 
Steve


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]