home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / arch / 10901 < prev    next >
Encoding:
Text File  |  1992-11-18  |  2.4 KB  |  48 lines

  1. Newsgroups: comp.arch
  2. 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
  3. From: jg@crl.dec.com (Jim Gettys)
  4. Subject: Re: DEC Alpha architecture issues
  5. Message-ID: <1992Nov19.011525.26671@crl.dec.com>
  6. Sender: news@crl.dec.com (USENET News System)
  7. Organization: DEC Cambridge Research Lab
  8. References: <1992Nov18.112407.2518@doug.cae.wisc.edu> <1992Nov19.002740.7914@adobe.com>
  9. Date: Thu, 19 Nov 1992 01:15:25 GMT
  10. Lines: 36
  11.  
  12. In article <1992Nov19.002740.7914@adobe.com>, zstern@adobe.com (Zalman Stern) writes:
  13. > In article <1992Nov18.112407.2518@doug.cae.wisc.edu> keiths@cae.wisc.edu  
  14. > (Keith Scidmore) writes:
  15. > > 1. The DEC Alpha includes a conditional move instruction that they claim
  16. > >    can be used to avoid using branches and the associated branch  
  17. > penalties.
  18. > >    I'm trying to evaluate the usefulness of this feature.  Can someone  
  19. > tell
  20. > >    me where I might find articles that discuss this or raw data that can  
  21. > be
  22. > >    used to calculate the advantages of such an instruction.  I'm not into
  23. > >    compilers, and I need to know what kinds of situations an optimizing
  24. > >    compiler could make use of this instruction.  Is it even practical?   
  25. > Are
  26. > >    there any compiler writers out there with opinions on this?
  27. > I don't have a good answer to your question, but conditional moves do seem  
  28. > to be a win. SPARC version 9 includes them. The HP precision architecture  
  29. > already has features that do much the same thing. And rumour has it some  
  30. > MIPS architecture types like them too...
  31.  
  32. If you want some more direct measurements, you might take GCC on a machine
  33. with conditional moves and remove the use of conditional move instructions;
  34. I think you'll find a significant performance difference.  The bottom line is that
  35. you want to keep the pipe running flat out, and branches kill your pipe performance.
  36.  
  37. It certainly caused a noticable improvement when Richard Kenner taught
  38. GCC to use them on Alpha a while back, though GCC is not as good as it 
  39. might be about recognising when the can be used (last I remember on the topic
  40. was that it recognised some common idioms, but was nowhere as clever as it
  41. might be, and probably will be with time).  We are, of course, still
  42. improving our own compilers to use them more of the time as the compiler guru's
  43. continue doing their things.
  44.             - Jim Gettys
  45.  
  46.