🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #11274

Re: DEC Alpha architecture issues

#11274
From: Jim Gettys
Date: Thu, 19 Nov 1992 01:15
35 lines
2459 bytes
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
Technical Details
Message-ID: <1992Nov19.011525.26671@crl.dec.com>
Path: arc1-ca.pugleaf.net!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
References: <1992Nov18.112407.2518@doug.cae.wisc.edu> <1992Nov19.002740.7914@adobe.com>

Show Full Headers
Complete Article Headers
Newsgroups: comp.arch
Path: arc1-ca.pugleaf.net!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