Criteria for GCC 4.0

Scott Robert Ladd coyote@coyotegulch.com
Tue Jun 1 16:26:00 GMT 2004


Phil Edwards wrote:
> The recurring 3.5-vs-4.0 thing is sure to come up, so I thought I'd
> generate some discussion by providing my opinion, and talking points,
> on why we don't have 4.0 material yet.
> 
>     http://www.jaj.com/space/phil/40.html

Since my work, Acovea, is mentioned in your article, and I've been a 
participant in the debates, I'll respond.

As to your main point: There may be additional reasons to consider a 4.0 
designation for the next major release of GCC. Chief among these is the 
inclusion of gfortran, which completely replaced the older g77. This 
will be a significant moment for many users, and something that needs to 
be clearly denoted in the next release.

As for what should be in a 4.0:

The compile speed issue must be addressed more fully. I have encountered 
a perception, in many places, that the GCC developers are insulated from 
the needs of the user community. This is likely a matter of both focus 
and funding; most funding comes from system vendors, so the focus is on 
what's needed for building distributions and working on the compiler, 
and not on documentation, warnings, and other issues you've raised.

That is *not* an indictment of the GCC developers! I am merely stating a 
fact of life -- development goes where the money is, whether it's free 
or closed software.

Based on Acovea experiments, I believe that optimizations need to be 
enabled on a platform basis. The current settings for -O1 don't appear 
to be detrimental, and should be kept; -O2 would implement a set of 
general- and platform-specific optimizations, while -O3 would throw the 
usual kitchen sink at code.

One problem is that "minor" differences in processors can lead to major 
differences in the efficacy of different optimizations. I'm working on a 
model for deciding how optimizations should be chosen.

On a related issue: The -ffast-math documentation is very misleading. 
I'm writing a major article for publication this week, looking at 
accuracy and precision in GCC. Using -ffast-math with GCC produces code 
that performs *better* on many precision and accuracy tests.

To the horror of some, I have compiled an entire Gentoo Linux system 
with -ffast-math. ;) Just mentioning this on Slashdot brought down a 
rather interesting pile of e-mail...

Acovea is undergoing another metamorphosis; a new version will be posted 
later this week, with new test data (for GCC "3.5") and minor 
refinements. At that point, I'll be opening a discussion as to the 
future of Acovea, particularly in terms of GCC.

 > Thought I'd post something inflammatory and controversial just before
 > leaving for a week.  (And then encountering all the offended people in
 > person in Ottawa, yay!)

I'd love to be there, but other concerns will keep me in Florida. Have a 
good time...

..Scott

-- 
Scott Robert Ladd
Coyote Gulch Productions (http://www.coyotegulch.com)
Software Invention for High-Performance Computing



More information about the Gcc mailing list