🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.archives
Article #4779

[gnu.gcc.announce] GNU superoptimizer version 2.1 released

#4779
From: Torbjorn Granlund
Date: Sun, 20 Dec 1992 20:57
65 lines
2909 bytes
Archive-name: auto/gnu.gcc.announce/GNU-superoptimizer-version-2-1-released

Version 2.1 of the GNU superoptimizer (GSO) is now available for
anonymous ftp from prep.ai.mit.edu in /pub/gnu/superopt-2.1.tar.Z.
This version fixes several bugs that were present in the previous
version.  In particular if you use GSO to generate Intel x86 or
Motorola 68k code, you should upgrade to this version.


GSO is a function sequence generator that uses an exhaustive
generate-and-test approach to find the shortest instruction sequence
for a given function.  You have to tell the superoptimizer which
function and which CPU you want to get code for.

Sample GSO results:

  SPARC code for i5 = ((signed) i0 > (signed) i1):
	  subcc   %i1,%i0,%i2
	  srl     %i1,31,%i3
	  sra     %i0,31,%i4
	  addx    %i4,%i3,%i5

  Faster 80x86 code than the standard cmpl/seta/and for
  ecx = ((unsigned) eax > (unsigned) edx):
	  cmpl    %eax,%edx
	  sbbl    %ecx,%ecx
	  negl    %ecx

  MC88000 code for 'find first set bit', i.e., r6 = ffs(r2):
	  subu.co r3,r0,r2
	  and     r4,r3,r2
	  addu.ci r5,r4,r4
	  ff1     r6,r5

  POWER (RS/6000) code for r6 = ((unsigned) r3 < (unsigned) r4) + r5
	  sf      r6,r4,r3
	  sfe     r7,r5,r6
	  sf      r8,r7,r6

Aside from the CPUs in the examples above, GSO generates code for
MC680x0, Amd290xx, and Pyramid(SP,AP,XP).

Please send comments, improvements and new ports to tege@gnu.ai.mit.edu.


	Torbjorn Granlund
	Swedish Institute of Computer Science

      [ Soon to be at these ftp sites as well.  Please try them
	before prep.ai.mit.edu!  thanx -gnu@prep.ai.mit.edu

	Japan: ftp.cs.titech.ac.jp, utsun.s.u-tokyo.ac.jp:ftpsync/prep
	Australia: archie.oz.au:gnu
	Europe: src.doc.ic.ac.uk:gnu, ftp.informatik.tu-muenchen.de,
	  ftp.informatik.rwth-aachen.de:pub/gnu, nic.funet.fi:pub/gnu,
	  ugle.unit.no, isy.liu.se, ftp.stacken.kth.se, ftp.win.tue.nl,
	  ftp.diku.dk, ftp.eunet.ch, archive.eu.net
	United States: wuarchive.wustl.edu, ftp.cs.widener.edu,
	  uxc.cso.uiuc.edu, col.hp.com, gatekeeper.dec.com:pub/GNU,
	  ftp.uu.net:systems/gnu

	For information on how to order GNU software on tape, check
	the file etc/DISTRIB in the GNU Emacs distribution, or e-mail
	a request to:	gnu@prep.ai.mit.edu
      ]
Technical Details
Message-ID: <1h2mnoINN71o@agate.berkeley.edu>
Path: arc1-ca.pugleaf.net!sparky!uunet!enterpoop.mit.edu!snorkelwacker.mit.edu!stanford.edu!agate!usenet
References: <9212171304.AA24437@zevs.sics.se>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!enterpoop.mit.edu!snorkelwacker.mit.edu!stanford.edu!agate!usenet
From: tege@sics.se (Torbjorn Granlund)
Newsgroups: comp.archives
Subject: [gnu.gcc.announce] GNU superoptimizer version 2.1 released
Followup-To: gnu.gcc.announce
Date: 20 Dec 1992 20:57:28 GMT
Organization: GNUs Not Usenet
Lines: 67
Sender: adam@soda
Approved: adam@soda
Distribution: world
Message-ID: <1h2mnoINN71o@agate.berkeley.edu>
References: <9212171304.AA24437@zevs.sics.se>
NNTP-Posting-Host: soda.berkeley.edu
X-Original-Newsgroups: gnu.gcc.announce
X-Original-Date: Thu, 17 Dec 1992 15:04:40 GMT