www.delorie.com/archives/browse.cgi   search  
Mail Archives: pgcc/1999/03/09/16:13:18

Date: Tue, 9 Mar 1999 17:58:15 +0100
To: pgcc AT delorie DOT com
Subject: Re: gcc-2.7 creates faster code than pgcc-1.1.1
Message-ID: <19990309175815.H2217@cerebro.laendle>
Mail-Followup-To: pgcc AT delorie DOT com
References: <001701be6634$045ba500$a18330d4 AT main DOT medtech DOT ru>
Mime-Version: 1.0
In-Reply-To: <001701be6634$045ba500$a18330d4@main.medtech.ru>; from Eugene M. Indenbom on Thu, Mar 04, 1999 at 02:37:17PM +0300
X-Operating-System: Linux version 2.2.2 (marc AT cerebro) (gcc driver version pgcc-2.93.04 19990131 (gcc2 ss-980929 experimental) executing gcc version 2.7.2.3)
From: Marc Lehmann <pcg AT goof DOT com>
Reply-To: pgcc AT delorie DOT com
X-Mailing-List: pgcc AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Thu, Mar 04, 1999 at 02:37:17PM +0300, Eugene M. Indenbom wrote:
> As I wrote previously gcc-2.7.2.3 generates faster gzip
> than egcs-1.1.1/pgcc-1.1.1 on PentiumPro.
> The slowdown is greater than 10% on decompression operation.
> This can be easily checked if you have RedHat 5.2.
> The shipped gzip is gcc-2.7.2.3 compiled.
> 
> 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%.

If that is the only problem than we can consider the whole issue "bad luck"
on side of the compiler. This is also one of the problems that got introduced
with the egcs merge. egcs "seems" to be slower in some cases (and faster in
others) than gcc-2.7.2.

That was one of the reasons why I started the egcs benchmark suite (but I
haven't got around making the results public in an easily parseable form)

> And finally if you have Pentium Pro or Pentium II please
> do this check and report result to me.
> I wonder whether I have brain damaged Pentium Pro.

According to the docs there andl shouldn't be very bad. I'm sure its some
parasitic effect that only shows up in an inner loop. In any case, people
should refer to the discussion about improving this case on the egcs list.

--  
      -----==-                                             |
      ----==-- _                                           |
      ---==---(_)__  __ ____  __       Marc Lehmann      +--
      --==---/ / _ \/ // /\ \/ /       pcg AT goof DOT com      |e|
      -=====/_/_//_/\_,_/ /_/\_\       XX11-RIPE         --+
    The choice of a GNU generation                       |
                                                         |

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019