home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.arch
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!darwin.sura.net!haven.umd.edu!decuac!pa.dec.com!rdg.dec.com!news.crl.dec.com!jg
- From: jg@crl.dec.com (Jim Gettys)
- Subject: Re: DEC Alpha architecture issues
- Message-ID: <1992Nov19.011525.26671@crl.dec.com>
- Sender: news@crl.dec.com (USENET News System)
- Organization: DEC Cambridge Research Lab
- References: <1992Nov18.112407.2518@doug.cae.wisc.edu> <1992Nov19.002740.7914@adobe.com>
- Date: Thu, 19 Nov 1992 01:15:25 GMT
- Lines: 36
-
- In article <1992Nov19.002740.7914@adobe.com>, zstern@adobe.com (Zalman Stern) writes:
- > In article <1992Nov18.112407.2518@doug.cae.wisc.edu> keiths@cae.wisc.edu
- > (Keith Scidmore) writes:
- > > 1. The DEC Alpha includes a conditional move instruction that they claim
- > > can be used to avoid using branches and the associated branch
- > penalties.
- > > I'm trying to evaluate the usefulness of this feature. Can someone
- > tell
- > > me where I might find articles that discuss this or raw data that can
- > be
- > > used to calculate the advantages of such an instruction. I'm not into
- > > compilers, and I need to know what kinds of situations an optimizing
- > > compiler could make use of this instruction. Is it even practical?
- > Are
- > > there any compiler writers out there with opinions on this?
- >
- > I don't have a good answer to your question, but conditional moves do seem
- > to be a win. SPARC version 9 includes them. The HP precision architecture
- > already has features that do much the same thing. And rumour has it some
- > MIPS architecture types like them too...
- >
-
- If you want some more direct measurements, you might take GCC on a machine
- with conditional moves and remove the use of conditional move instructions;
- I think you'll find a significant performance difference. The bottom line is that
- you want to keep the pipe running flat out, and branches kill your pipe performance.
-
- It certainly caused a noticable improvement when Richard Kenner taught
- GCC to use them on Alpha a while back, though GCC is not as good as it
- might be about recognising when the can be used (last I remember on the topic
- was that it recognised some common idioms, but was nowhere as clever as it
- might be, and probably will be with time). We are, of course, still
- improving our own compilers to use them more of the time as the compiler guru's
- continue doing their things.
- - Jim Gettys
-
-