This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: powerpc & unaligned block moves with fp registers
- From: dewar at gnat dot com (Robert Dewar)
- To: dalej at apple dot com, dewar at gnat dot com
- Cc: dj at redhat dot com, dje at watson dot ibm dot com, gcc at gcc dot gnu dot org, mrs at apple dot com
- Date: Sat, 1 Nov 2003 14:52:55 -0500 (EST)
- Subject: Re: powerpc & unaligned block moves with fp registers
> I agree with this, actually, but the group seems to be moving more in
> the
> direction of not supporting anything nonstandard (strict aliasing, which
> broke lots of existing code including gcc itself, springs to mind).
A couple of points here.
First the standard is a means to an end, not an end in itself. The end is to
provide a useful compiler. A compiler that meets the standard but is not
useful is a dubious artifact. So arguing from the standard is always a
tricky business. Certainly we don't want to do seriously inefficient
things to accomodate "bad" code, but we have to be careful to make sure
that we are talking about serious inefficiency.
Compiler writers always tend to be too optimistic about the benefits of
particular optimizations.
For example, strict aliasing, just how important is this. As compiler
writers, we would tend to believe it was critical, but do we really have
data that supports this. The only measurement we did in Ada was on the
compiler itself. GNAT runs 1% slower if compiled with no strict aliasing.
Since strict aliasing results in a number of unexpected behaviors in
Ada code (all cases where the standard does not require the expected
behavior, but this does not chnage the expectations :-)
Richard reacts that the compiler is non-typical (our discussion was about
whether strict aliasing should be the default in GNAT). Fine, I am willing
to believe that is the case, but still it would be nice to have some real
customer programs that show the supposed huge benefits of strict aliasing!