Serious code size regression from 3.0.2 to now

tm tm@mail.kloo.net
Tue Jul 23 21:53:00 GMT 2002


On Tue, 23 Jul 2002, Geoff Keating wrote:

> > Date: Tue, 23 Jul 2002 16:22:18 -0700 (PDT)
> > From: tm <tm@mail.kloo.net>
> > Cc: Joern Rennecke <joern.rennecke@superh.com>, gcc-bugs@gcc.gnu.org,
> >    stephen.clarke@superh.com, shumpei.kawasaki@hsa.hitachi.com, tm@kloo.net
> 
> > On 23 Jul 2002, Geoff Keating wrote:
...
> 
> > 2) Suppress cache alignment for BBRO-generated blocks
> 
> That would also be bad.
> 

Why?

The SH4 has critical-word-read-first.

Let's say a BBRO-generated out-of-lined code fragment is 3 instructions or
6 bytes. If it's cache-aligned, it reads one cache line and fetches the
first instruction immediately.

If it's not cache-aligned but starts in the first 27 bytes of a cache
line, e.g. ((address & 31) < 27), then it reads one cache line and still
fetches the first instruction immediately due to critical-word-read-first.

Toshi





More information about the Gcc-bugs mailing list