This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Stepanov, PowerPC, life_analysis
- To: Mark Mitchell <mark at codesourcery dot com>
- Subject: Re: Stepanov, PowerPC, life_analysis
- From: Scott A Crosby <crosby at qwes dot math dot cmu dot edu>
- Date: Fri, 8 Jun 2001 22:43:02 -0400 (EDT)
- cc: <gcc at gcc dot gnu dot org>, Richard Henderson <rth at cygnus dot com>, David Edelsohn <dje at watson dot ibm dot com>, Jason Merrill <jason at cygnus dot com>
On Fri, 8 Jun 2001, Mark Mitchell wrote:
>
> I've figured out why are Stepanov abstraction numbers (which basically
> exercise ADDRESSOF in different ways) are worse on PowerPC than they
> were for GCC 2.95.
>
I've got some code. PR/2399, which shows some pretty nasty assembly.
On 2.95.2, it reserves 120 bytes of stack, and performs 18 trivially dead
stores, and 6 other (superflous?) stores. The correct code is one single
store (the 'movb $0xa,0x345(%eax)' at the end), for an abstraction penalty
of about 20x.
The code is to implement multidimensional subscripting for an compile-time
fixed-size arrays.
SmartFixedArray<16,16,16> x;
x[1][2][3] = 19;
I bring it up because of the comments on whether or not this was important
for 3.0 in the email. As this is a short and extremely severe example, I
offer it now.
The bug report PR/2399 is currently unassigned and open.
Scott
--
No DVD movie will ever enter the public domain, nor will any CD. The last CD
and the last DVD will have moldered away decades before they leave copyright.
This is not encouraging the creation of knowledge in the public domain.