This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: SPECfp2000 worsening
- From: Michael Matz <matz at suse dot de>
- To: Roger Sayle <roger at eyesopen dot com>
- Cc: <gcc at gcc dot gnu dot org>
- Date: Fri, 20 Sep 2002 11:57:54 +0200 (CEST)
- Subject: Re: SPECfp2000 worsening
Hi,
On Fri, 20 Sep 2002, Roger Sayle wrote:
> The problem was poor register allocation with the loop counters
> being spilled to the stack. Recompiling using "-fnew-ra" saw a
> miraculous improvement in N3, 1202 MIPS, faster even than MSVC!
Ohh, nice ;) (btw. could you send me the version of whets.c you used
privately?)
> Unfortunately, despite the much better showing on N3, "-fnew-ra"
> performs worse overall dropping to 782 Whetstone MWIPS. When I
> attempted to analyse the loops that got worse, I discovered cutting
> and pasting individual loops into a single function fixed the poor
> allocation issues. "whetstone" (as coded in whets.c) is one large
> function and I'm guessing this creates problems for the new register
> allocator. A live range splitting issue?
Not necessarily. The spill code generation for non-load/store
architectures is currently very poor, and the allocator as commited to
mainline doesn't really look at constraints, so reload has to fix up some
insns, sometimes placing pseudos onto the stack, which already were
allocated. I'm currently working on all those problems.
Ciao,
Michael.