This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Performance of Integer Multiplication on PIII (Results forgcc-2.95& Athlon)
- To: Paolo Carlini <pcarlini at unitus dot it>
- Subject: Re: Performance of Integer Multiplication on PIII (Results forgcc-2.95& Athlon)
- From: pete at ltoi dot iap dot physik dot tu-darmstadt dot de
- Date: Mon, 5 Nov 2001 20:48:51 +0200 (MEST)
- Cc: jh at suse dot cz, <gcc at gcc dot gnu dot org>
Hi Paolo,
On Mon, 5 Nov 2001, Paolo Carlini wrote:
> > {Hi Paolo (Carlini) listening: What was the quintessence of your flops
>
> > example?}
>
> Hi Peter!
> Yes I'm listening, but, honestly, after 12 hours of work in the lab and
> a tough libstdc++ patch in the work, I have trouble keeping up with this
> thread and your dozens of numbers ;-)
>
> But right now I have some spare time and I would be glad to test on my
> PII the patch that Jan prepared.
>
> Could you possibly forward it to me? Moreover, could you possibly point
> me quickly to the testcase and indicate the most relevant optimization
> switches?
you might consider using the source attached to
http://gcc.gnu.org/ml/gcc/2001-11/msg00255.html
{scroll to the bottom} {crosscheck with the original, in case i screwed
something}
So, far the "Blow away all Intel stuff" (;-) sorry) options was
Base:= -march=athlon -O2
Base & -fomit-frame-pointer -malign-loops=2 -malign-jumps=2
-mpreferred-stack-boundary=2
and the "read" used was read2.c {The Hormer-schemata}
But, checking here with the PII-400 still sucks:
hgcc -s -o imul imul.c read_empty.c read2.c -march=i686 -O2
-fomit-frame-pointer -malign-loops=2 malign-jumps=2
-mpreferred-stack-boundary=2
yields:
Loop: 1.18, Code: 2.57
Clocks: 19.15
Oh, hey, not so much this time with -mpreferred-stack-boundary=2
i.e.
2.57*400/500= 2.056
2.056/1.97 = 1.044
only 4% away from intel's icc ... this may be due to a pure PIII enhancement
over PII ...
Thus, Kevin, you might give that a try.
Peter