Re: SPARC compiler optimisation

dmk@craycos.com (David Keaton)
Thu, 27 Feb 92 11:54:13 MST

          From comp.compilers

Related articles
SPARC compiler optimisation gregw@highland.oz.au (1992-02-13)
Re: SPARC compiler optimisation casper@fwi.uva.nl (1992-02-14)
Re: SPARC compiler optimisation how@leland.stanford.edu (1992-02-14)
Re: SPARC compiler optimisation ucsd!math.ucla.edu!pmontgom@uunet.uu.net (1992-02-15)
Re: SPARC compiler optimisation grunwald@foobar.cs.colorado.edu (1992-02-22)
Re: SPARC compiler optimisation andrew@highland.oz.au (1992-02-26)
Re: SPARC compiler optimisation dmk@craycos.com (1992-02-27)
Re: SPARC compiler optimisation nickh@CS.CMU.EDU (1992-02-28)
Re: SPARC compiler optimisation nickh@CS.CMU.EDU (1992-03-02)
Re: SPARC compiler optimisation preston@dawn.cs.rice.edu (1992-03-02)
Dual-word moves (was SPARC compiler optimisation) ram+@cs.cmu.edu (1992-03-03)
Re: SPARC compiler optimisation vanroy@prl.dec.com (1992-03-09)
| List of all articles for this month |
Newsgroups: comp.compilers
From: dmk@craycos.com (David Keaton)
Keywords: sparc, optimize
Organization: Cray Computer Corporation
References: 92-02-120
Date: Thu, 27 Feb 92 11:54:13 MST

          Well, bunching *all* the loads doesn't buy you much. SPARC load
pipelines are generally two or three levels deep. (Prisma tried to build
one with four levels, but that's history.) Therefore, you would be better
off with either "ld, ld, or, or, ld, ld, . . ." or "ld, ld, ld, or, or,
or, ld, ld, ld, . . ." depending on the depth of your particular load
pipeline. This would keep down register usage while still taking maximum
advantage of the load pipe.


          Depending on the implementation, each load is generally two or three
clocks long even if there is a cache hit. This can be cut down by
aligning on a 64-bit boundary and using ldd (load-double) instructions.
On implementations with a 64-bit bus, this doubles the througput. On
32-bit implementations, it adds only one clodk to the load instead of the
minimum two or three for a whole extra load instruction. Neither the Sun
nor the GNU compilers take advantage of this very well.


David Keaton
Cray Computer Corp.
dmk@craycos.com
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.