This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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: gcc in IA64


Daniel Carrera wrote:
> 
> What's the status of gcc in IA-64?
> I understand that the IA64 architecture is such that compiler optimization
> becomes far more important than in the traditional x86.  I also understand
> that traditional compilers have not performed this kind of optimization
> before, and that without it the software produced comes out very slow.
> 
> In this light, I was hoping I could get some questions answered:
> 
> 1) How efficient if gcc currently in IA64?
> 2) How does it compare with other compilers?
> 3) Will it take a long time before gcc can make proper use of the IA64
> architecture?
> 4) In the near future, should I be looking at x86-64 instead?
> 
> Thanks for the help, I appreciate it.
> 

  This is a comparison of different versions of compilers on SPECINT2000
for a HP Itanium2 (900 Mhz) workstation made in Dec.  -O2 was used for
all
compilers because the most users use it.  If you look at www.spec.org
you will see a much better results for HP compiler (but they use profile
information optimizations which with my point of view is a cheating for
real users but not for SPEC).

Briefly the intel compiler was faster and generated a better code.  But
the code generated by gcc is more compact.

What is happened after December. The code generated by gcc has been
improved on 3.5% on SPECINT2000 and the compiler has been sped up
on 56%.  So now gcc is practically as fast as the intel compiler
and generates code less 20% worse than the intel compiler does.

On my opinion the following high priority optimizations should be added
to improve code generated by gcc for Itanium:
    1. more aggressive interblock insn scheduling with
       usage of ia64 data and control flow speculation insns
    2. code parallelization (usage of SIMD insns)
    3. software pipelining
    4. better aliasing analysis

You could find more http://gcc.gnu.org/projects/ia64.html

    SPECINT2000 results for gcc-2.96-112, gcc-3.2 branch as of Nov 14,
                Intel v7.0 compiler.  -O2 was used for all
                              compilers.

           gcc-2.96-112  gcc-3.2 branch   ecc v7.0
----------------------------------------------------
164.gzip            334         352         418
175.vpr             391         387         416
176.gcc             434         445         615
181.mcf             233         230         229
186.crafty          443         451         575
197.parser          333         348         350
252.eon             243         258         447
253.perlbmk         404         433         480
254.gap             333         346         429
255.vortex          461         465         525
256.bzip2           339         334         440
300.twolf           402         439         484
Est. SPECint2000    355         366         439
%                   100%        103%        124%


   Compilation (user) time for SPECINT2000 tests (except for eon):

         gcc-2.96-112  gcc-3.2 branch   ecc v7.0
------------------------------------------------
Sec.             420         929          575
%                100%        221%         137%

  All gcc compilers have been built for release (with
--disable-checking).

Compilation (user) time for SPECINT2000 eon (a C++ test):

          gcc-2.96-112  gcc-3.2 branch  ecc v7.0
-------------------------------------------------
Sec.           109         354            301
%              100%        325%           276%

Size (text+data+bss):

       gcc-2.96-112  gcc-3.2 branch  ecc v7.0
--------------------------------------------------
gzip    450959 100%  453283 101%  634738 141%
vpr     309272 100%  292559  95%  582829 188%
gcc    3236031 100% 3145514  97% 3774287 117%
mcf      38052 100%   36951  97%  247807 651%
crafty 1506711 100% 1488470  99% 1714749 114%
parser  452014 100%  441744  98%  665591 147% 
eon    1101775 100% 1080233  98% 3197061 290%
perlbmk1291216 100% 1256518  97% 1702472 132% 
gap    2038913 100% 2025540  99% 2602401 128%
vortex 1094974 100% 1076421  98% 1453213 133%
bzip2   150549 100%  144907  96%  359050 238%
twolf   533872 100%  509721  95%  833294 156%

Vlad


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