Date: Thu, 6 May 1999 23:57:30 +0200 To: PGCC Mailing List Cc: egcs AT cygnus DOT com Subject: Re: When will PGCC be merged with EGCS? Message-ID: <19990506235730.F20732@cerebro.laendle> Mail-Followup-To: PGCC Mailing List , egcs AT cygnus DOT com References: <199905062117 DOT QAA23167 AT indy1 DOT indy DOT net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <199905062117.QAA23167@indy1.indy.net>; from Steve Snyder on Thu, May 06, 1999 at 04:15:49PM -0400 X-Operating-System: Linux version 2.2.7 (root AT cerebro) (gcc driver version pgcc-2.93.09 19990221 (gcc2 ss-980929 experimental) executing gcc version 2.7.2.3) From: Marc Lehmann Reply-To: pgcc AT delorie DOT com X-Mailing-List: pgcc AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Thu, May 06, 1999 at 04:15:49PM -0400, Steve Snyder wrote: > Now that the unfortunate gcc/egcs fork has been resolved, I hope that > integrating pgcc's Pentium/PPro/PII/PIII optimizations into egcs will soon > take place. > > Has any schedule (tentative, I know) been established to bring these > 80x86-specific optimizations into the standard egcs build? Its happening all the time. If you compare egcs to, say, an old gcc version you will see that many improvements have been incorporated into egcs. pgcc also took many improvements from egcs (such as all the initial pentiumpro/ii support when I didn't have such a chip). Many of these features are not taken directly from pgcc, for a variety of reasons. However, many new improvements were added after they proved useful in pgcc. Many optimizations were re-implemented in egcs in a superior and more general (i.e. not x86-specific) form. There is no schedule for pgcc->gcc since it is a continuous process. Another reason is that some thing in the architecture-independent code of egcs are not optimal for the x86 architetcure, but you cannot change them as this would badly affect other targets. In pgcc, this is possible since its not used (yet) on non-x86 targets. Some parts of pgcc are even inacceptable for inclusion into egcs: some optimizations are known to generate wrong code under some circumstances. For example there once was a problem with glibc (there still are) and peep-spilling. Solving it would either mean to fix that optimization (which is requires a different infrastructure) or to disable it. In pgcc, I chose to enable it (after all its experimental), in egcs you had to disable it. -- -----==- | ----==-- _ | ---==---(_)__ __ ____ __ Marc Lehmann +-- --==---/ / _ \/ // /\ \/ / pcg AT goof DOT com |e| -=====/_/_//_/\_,_/ /_/\_\ XX11-RIPE --+ The choice of a GNU generation | |