This is the mail archive of the
mailing list for the GCC project.
Re: gcc-2.7 creates faster code than pgcc-1.1.1
- To: Терехин Вячеслав <medtekh at orc dot ru>, egcs at egcs dot cygnus dot com
- Subject: Re: gcc-2.7 creates faster code than pgcc-1.1.1
- From: Jamie Lokier <egcs at tantalophile dot demon dot co dot uk>
- Date: Thu, 4 Mar 1999 22:20:18 +0100
- References: <email@example.com>
Терехин Вячеслав wrote:
> After several day of search I finally find out offending
> instruction that slow down gzip compiled with egcs-1.1.1/pgcc-1.1.1
> on PentiumPro 180MHz (132MB RAM) but the result seems crazy to me.
> This instruction is:
> andl $255, %eax
> in flush_window (util.c) function body (it is inlined from updcrc)
> if you manually replace it with
> movzbl %al, $eax
> this will boost decompression by 20%.
In the past I have written hand-optimised assembly language, tuned for
the different x86 families, and I found movzbl to be a very effective
instruction on the Pentium Pro. So what you describe sounds correct.
Another is to do xorl %eax,%eax just before loading something into %al.
That is fast on the PPro too.