[gccsdk] GCCSDK GCC 4 status update

Peter Naulls peter at chocky.org
Sun Dec 10 23:09:01 PST 2006


In message <f08152934e.Jo at hobbes.bass-software.com>
          John Tytgat <John.Tytgat at aaug.net> wrote:

> > Alternatively, taking another look at soft vs hard float performance.
> 
> That should be very easy to do as this is now a simple compile option.

Here we go.  I tested the following combinations with nbench:

GCC 3.4.6 + XScale UnixLib + StrongARM nbench
    "             "        + XScale nbench

GCC 4.1.1 with hard-float, ARM6 UnixLib,  StrongARM nbench
GCC 4.1.1 with soft-float       "               "

The results are below, and are pretty compelling - that is, soft-float
is much faster and means we don't have to deal with potentially buggy
emulation code which no-one else cares about any more (having moved to
soft-float).   I wasn't able to test the code under 4.1.1 with
-march=xscale, as there's some confusion by GCC about VFP settings, but
I'm sure that can be fixed.  Note that some of the results with GCC
3.4.6 are faster than with GCC 4.1.1, but I think that is due to math
operations under GCC 3.4.6 (both inside and outside UnixLib) taking
advantage of XScale-only instructions.

As such, I've rebuilt my GCC 4.1.1 with soft-float as the default, and
will use that for all further work.

I don't have the latest Castle C/C++, but based upon previous testing,
my expectation is that GCC 4.1.1 produces significantly better code.

These tests of course were done on an Iyonix.  The "FP EMULATION" value
refers to generic floating point emulation done in the test, and doesn't
directly relate to ARM soft/hard float.


  3.4.5 + XScale + StrongARM + hard-float

  TEST                : Iterations/sec.  :
                      :                  :
  --------------------:------------------:
  NUMERIC SORT        :          216.31  :
  STRING SORT         :          19.502  :
  BITFIELD            :      5.2641e+07  :
  FP EMULATION        :          16.327  :
  FOURIER             :          51.836  :
  ASSIGNMENT          :          1.4404  :
  IDEA                :          493.96  :
  HUFFMAN             :           101.8  :
  NEURAL NET          :        0.059673  :
  LU DECOMPOSITION    :          1.6706  :


  3.4.6 + XScale + XScale + hard-float

  TEST                : Iterations/sec.  :
                      :                  :
  --------------------:------------------:
  NUMERIC SORT        :          216.65  :
  STRING SORT         :          19.523  :
  BITFIELD            :       5.266e+07  :
  FP EMULATION        :          17.712  :
  FOURIER             :          51.918  :
  ASSIGNMENT          :          1.5924  :
  IDEA                :           522.5  :
  HUFFMAN             :          122.94  :
  NEURAL NET          :        0.060525  :
  LU DECOMPOSITION    :          1.6779  :


  4.1.1 + ARM6 + StrongARM + hard-float

  TEST                : Iterations/sec.  :
                      :                  :
  --------------------:------------------:
  NUMERIC SORT        :          191.87  :
  STRING SORT         :              20  :
  BITFIELD            :        4.69e+07  :
  FP EMULATION        :          42.667  :
  FOURIER             :          58.017  :
  ASSIGNMENT          :          1.8282  :
  IDEA                :          468.92  :
  HUFFMAN             :          110.38  :
  NEURAL NET          :        0.061244  :
  LU DECOMPOSITION    :          1.6846  :


  4.1.1 + ARM6 + StrongARM + soft-float

  TEST                : Iterations/sec.  :
                      :                  :
  --------------------:------------------:
  NUMERIC SORT        :          191.87  :
  STRING SORT         :          19.992  :
  BITFIELD            :      4.6891e+07  :
  FP EMULATION        :          42.634  :
  FOURIER             :          150.08  :
  ASSIGNMENT          :          1.8302  :
  IDEA                :          468.92  :
  HUFFMAN             :          279.61  :
  NEURAL NET          :         0.19654  :
  LU DECOMPOSITION    :           6.015  :




-- 
Peter Naulls - peter at chocky.org        | http://www.chocky.org/
----------------------------------------------------------------------------
RISC OS Community Wiki - add your own content   | http://www.riscos.info/




More information about the gcc mailing list