Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!umd5!mimsy!chris From: chris@mimsy.UUCP (Chris Torek) Newsgroups: comp.arch Subject: Re: m88000 benchmarks Message-ID: <12171@mimsy.UUCP> Date: 27 Jun 88 17:44:45 GMT References: <1941@pt.cs.cmu.edu> <3208@ubc-cs.UUCP> <1986@pt.cs.cmu.edu> <754@garth.UUCP> Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Lines: 20 In article <754@garth.UUCP> smryan@garth.UUCP (Steven Ryan) writes: >The problem with writing a scheduler is finding an efficient (read: heuristic) >method of traversing the code graph. The simplest method produces the best code >at exponential compilation time: try every possible sequence. ... >We humans seem to have innate ability to find the best graph traversal (or >perhaps we are not overwhelmed until the graph becomes large), so human >experts will continue outcode compilers for the near future. A recent (I think) ASPLOS has a paper on something called `Superoptimizer'. This is a program that uses exponential time to find the best 68000 or 80x86 code sequence to replace some other sequence. It is not suitable for more than about 13 instructions at a time, but the sequences it produces are better than those that humans usually derive. It came up with a four-68000-instruction `signum' function, and its versions of min and max (and minmax together) are also quite surprising. None of them have any branches. -- In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163) Domain: chris@mimsy.umd.edu Path: uunet!mimsy!chris