This is the mail archive of the
mailing list for the GCC project.
Re: Benchmarks gcc 3.0.4 (soon 3.1) vs. Intel C++ 6.0
- From: Tim Prince <tprince at computer dot org>
- To: Daniel Berlin <dberlin at dberlin dot org>,Erik Schnetter <schnetter at uni-tuebingen dot de>
- Cc: gcc at gcc dot gnu dot org
- Date: Thu, 9 May 2002 14:02:24 -0700
- Subject: Re: Benchmarks gcc 3.0.4 (soon 3.1) vs. Intel C++ 6.0
- References: <Pine.LNX.email@example.com>
- Reply-to: tprince at computer dot org
On Thursday 09 May 2002 09:01, Daniel Berlin wrote:
> On Thu, 9 May 2002, Erik Schnetter wrote:
> > Tim Prince <tprince at computer dot org> wrote:
> > > icc's equivalent to -fstrict-aliasing is -ansi. It's not a default.
> > I couldn't find anything about aliasing in the description of "-ansi".
> It does what he says, however, i can prove it through option dumps (it
> turns on P2OPT_disam_assume_ansi_c)
> > However, icc does have a "-falias" option (which is also not the
> > default). The description of "-falias" is unfortunately unusable.
> You mean -fno-alias and -fno-fnalias, i thinks.
> If you want to see the aliasing/intermediate code dumps for intel's
> compiler, so you can watch what it does at each stage, "-mIPOPT_trace=-1
> -mP1OPT_il0_trace=-1 -mP2OPT_il0_list_source_lines=-1 -mP2OPT_il0_dump=0
> -mIPOPT_opt_trace=-1" will suffice.
> If you want the debug options to print the mod-ref sets and whatnot, let
> me know.
> > -erik
Thanks for this information. I was intending to test whether -ansi affected
vectorization when I got a chance. Meanwhile, I've noticed that the latest
Windows ICL documentation says -Qansi is on by default, which I disbelieve,
since the defaults are often compatible with Microsoft's, and because even
the Fortran 6.0 assumes argument aliasing, contrary to Fortran standards of
36 years standing. Also, it would be mighty strange to have it on by default
in Windows, which is notorious for dirty C, and off for linux, where the gcc
struggles should have raised awareness of the issues. They agreed to correct
the Fortran default for 7.0, but that shouldn't have a direct bearing on C.
I'll be filing a documentation problem report with Intel, but I'd like to
have as many facts at hand as possible. The description of -ansi is
certainly oblique. It assumes [the program is in] conformance with ISO C89
[the main consequence being that typed aliasing analysis can be employed, as
with gcc -fstrict-aliasing].