Author: Robert Hyatt
Date: 07:01:38 03/01/03
Go up one level in this thread
On March 01, 2003 at 06:04:23, Dave Gomboc wrote: >This message is quite old, though. AFAIK gcc's internals have changed >*significantly* since that time. > >Dave Particularly with gcc 3.0 and beyond, of course... > > >On February 28, 2003 at 23:24:28, Robert Hyatt wrote: > >>On February 28, 2003 at 18:00:06, Jeremiah Penery wrote: >> >>>http://ccc.it.ro/search/ccc.php?art_id=189071 >>> >>>In case the link doesn't work, here's what it says: >> >>I'm not sure why this is related. IA64 is non-trivial to optimize >>for. But not because it has a boatload of registers. For example, >>use gcc on a sparc and look at the code. With 32 registers, it does >>quite well and can use 'em all with no problems. I'd be happy to post >>some sparc .s files if you want to see that this isn't a problem... >> >>Now, as for IA64, I have looked at some prelim docs very _lightly_ and it >>reminds me of other attempts at VLIW computers, with the same bundling >>difficulties they all had. But this wasn't about IA64 as I was reading it, >>it was about "large numbers of registers are bad for gcc" and I don't believe >>that is true in general. >> >> >> >>> >>>---- >>> >>>Posted by : Eugene Nalimov on September 16, 2001 at 18:07:01 >>> >>>Bob, >>> >>>Here Vincent is right. GCC core was written in 80's with VAX and 68k as its >>>primary targets, and it dis not contain optimizations that were unnecessary >>>than. Developers were able to add some optimizations later, but unfortunately, >>>to implement some optimizations correctly, total redesign is necessary, and it >>>was not done (yet?). >>> >>>Look, for example, at the minutes of the IA-64 GCC IA-64 Summit >>>(http://gcc.gnu.org/ml/gcc/2001-06/msg01634.html) for the current state of the >>>IA-64 gcc port. Compiler is functional, but it produces *very* inefficient code. >>>Main problem is memory disambiguation (interference information, aliases >>>analysis). It is very hard to do it properly on GCC's program internal >>>representation (RTL), as too much information is lost during early compilation >>>phases. >>> >>>Problem affects GCC code quality on all modern CPUs, but it's *vital* for the >>>IA-64. Vincent is right, the more registers the CPU has, the more severe is the >>>problem -- to efficiently use large number of registers compiler must have good >>>interference information. >>> >>>Small numbers of registers on x86 helps GCC there, genereated code is suboptimal >>>due to other reasons. >>> >>>Eugene
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.