This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
EGCS-971016: i686 Linux vs. SparcULTRA Solaris
- To: frichard at bbn dot com
- Subject: EGCS-971016: i686 Linux vs. SparcULTRA Solaris
- From: Teemu Torma <tot at trema dot com>
- Date: Fri, 17 Oct 1997 09:27:47 +0200
- cc: egcs at cygnus dot com
- Organization: Trema Laboratories SARL
From: Fred Richardson <frichard@bbn.com>
Date: Thu, 16 Oct 1997 23:27:00 -0400
The flags used for compiling on the Ultra were:
-mcpu=ultrasparc -funsigned-char -fno-exceptions -O6
-finline-functions -ffast-math -fomit-frame-pointer -funroll-loops
This may be a bit off from the topic, but
It seems that -mcpu=ultrasparc generates sometimes slower code
than -mcpu=supersparc, and gcc 2.7.2.1 is faster than egcs.
I ran some speed tests last week using Eric Young's libdes `speed'
program. These were the results, without haifa,
on Sun Enterprice 450 (248Mhz UltraSparc). Of course this kind
of test is not a good general speed test, but still...
EGCS 971008 -O3 -mcpu=supersparc
set_key per sec = 212606.48 ( 4.7uS)
DES ecb bytes per sec = 2930562.93 ( 2.7uS)
DES cbc bytes per sec = 2909686.20 ( 2.7uS)
crypt per sec = 12788.55 ( 78.2uS)
EGCS 971008 -O3 -mcpu=ultrasparc
set_key per sec = 231505.91 ( 4.3uS)
DES ecb bytes per sec = 3043186.47 ( 2.6uS)
DES cbc bytes per sec = 3118386.32 ( 2.6uS)
crypt per sec = 12224.42 ( 81.8uS)
GCC 2.7.2.1 -O3 -msupersparc
set_key per sec = 245225.03 ( 4.1uS)
DES ecb bytes per sec = 3212060.54 ( 2.5uS)
DES cbc bytes per sec = 3218404.89 ( 2.5uS)
crypt per sec = 13785.99 ( 72.5uS)
Quick analysis with quantify revealed that egcs spends more time
when doing shifting, or'ing, and'ing etc. I guess something must
be broken in the optimizer.
Teemu