home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / sys / sgi / 12426 < prev    next >
Encoding:
Internet Message Format  |  1992-08-14  |  2.4 KB

  1. Path: sparky!uunet!tymix!tardis!olivea!hal.com!decwrl!elroy.jpl.nasa.gov!news.claremont.edu!ucivax!megatek!rgs
  2. From: rgs@megatek.uucp (Rusty Sanders)
  3. Newsgroups: comp.sys.sgi
  4. Subject: Re: R4000 compiler directive, is there one ???
  5. Message-ID: <1992Aug14.180101.14529@megatek.uucp>
  6. Date: 14 Aug 92 18:01:01 GMT
  7. References: <1992Aug13.181236.18013@Veritas.COM>
  8. Organization: Megatek Corporation, San Diego, California
  9. Lines: 41
  10.  
  11. From article <1992Aug13.181236.18013@Veritas.COM>, by rogerk@Veritas.COM (Roger B.A. Klorese):
  12. > In article <ogn3in4@zuni.esd.sgi.com> olson@anchor.esd.sgi.com (Dave Olson) writes:
  13. [>>| from rgs@megatek.com   don't omit attributions like this please ]
  14. >>| I seem to remember seeing in some version or other of the compiler
  15. >>| (sorry, I don't know if it was beta, release, or what) that there
  16. >>| was a switch -r4000.
  17. >>
  18. >>It is passed on to the assembler untouched, and the comments there
  19. >>lead me to believe your recollection about instruction scheduling
  20. >>is correct, but I don't know enough about compilers to know what
  21. >>exactly (if anything!) it is doing.
  22. > It's omitting delay-slot nops.
  23.  
  24. It definitely does more than this, as I know it was causing a different
  25. scheduling of floating point operations. As John Mashey has said in
  26. a related article to this string, that's where most of the scheduling
  27. differences will be between an R3000 (or R6000 for that matter) and an
  28. R4000.
  29.  
  30. Net result; if you're using floating point on an R4000 you probably
  31. should use -mips2 -r4000 to get best performance. Does MIPS/SGI
  32. actually support (i.e. accept bug report calls) on the undocumented
  33. -r4000 switch?
  34.  
  35. As an aside, the last time I looked at it, while -r4000 generated
  36. much better scheduled code for the R4000, it was in no way optimal.
  37. It appeared to (at that time) have a rather limited grasp of the
  38. complexities of the R4000 floating point pipe. The one example of
  39. that I saw (way back when) was that it scheduled mul.s executions
  40. every 4 clocks (just like a mul.d), when they can actually be
  41. scheduled every 3. Also, it looked like it didn't have a good idea
  42. of the interactions between the multiplier and the adder (they do
  43. have some rather nasty interactions).
  44.  
  45. Of course, SGI could fix this by "just" fully pipelining the adder
  46. and multipliers. It's only silicon, after all :-).
  47. -- 
  48. ----
  49. Rusty Sanders, Megatek Corp. --> rgs@megatek.com or...
  50.          ...ucsd!    ...hplabs!hp-sdd!    ...ames!scubed!   ...uunet!
  51.