home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / arch / 9138 < prev    next >
Encoding:
Text File  |  1992-09-01  |  2.1 KB  |  44 lines

  1. Newsgroups: comp.arch
  2. Path: sparky!uunet!sun-barr!cs.utexas.edu!zaphod.mps.ohio-state.edu!sdd.hp.com!news.cs.indiana.edu!news.orst.edu!pmontgom
  3. From: pmontgom@math.orst.edu (Peter Montgomery)
  4. Subject: Re: trapping speculative ops (LONG)
  5. Message-ID: <Btvou1.6F9@news.orst.edu>
  6. Sender: usenet@news.orst.edu (Usenet News admin)
  7. Nntp-Posting-Host: ilanga.math.orst.edu
  8. Organization: Oregon State University Math Department
  9. References: <CLIFFC.92Aug28085924@antigone.rice.edu> <1992Aug31.224611.5196@odin.diku.dk>
  10. Date: Tue, 1 Sep 1992 02:42:00 GMT
  11. Lines: 31
  12.  
  13. In article <1992Aug31.224611.5196@odin.diku.dk> thorinn@diku.dk 
  14. (Lars Henrik Mathiesen) writes:
  15. >To summarize: trap bits are proposed to enable a compiler to move a
  16. >potentially trapping operation outside of a condition. As a special
  17. >case, this would allow many, if not all, of the same optimizations
  18. >that can be done if a load through a NULL pointer yields zeroes.
  19.  
  20.     On the early models in the CDC Cyber series, such
  21. as the CDC 6400 and 6600, floating point errors
  22. (e.g., overflow, division by zero) generated special
  23. results (e.g., indefinite quantity).  They did not generate
  24. a trap until those NaN-like results were used as operands
  25. to other floating point instructions.
  26.  
  27.     Sometimes, as in A = B + C/D where D = 0,
  28. the error would be detected a few instructions after
  29. the NaN-like result was generated and used as another operand.  
  30. Often, however, there would be a long gap.  
  31. Certain operations like converting an indefinite quantity to integer 
  32. generated no trap.  Since integer division used floating point 
  33. instruction, the code I/J where J = 0 could proceed without a trap.
  34.  
  35.     The behavior changed on some later models, like the CDC 7600.
  36. Those models gave a trap whenever the bad result was generated
  37. (or a few instructions later).  It was often possible, when looking 
  38. at core dumps, to see the bad operands still in the registers.
  39. -- 
  40.         Peter L. Montgomery              Internet: pmontgom@math.orst.edu
  41.         Dept. of Mathematics, Oregon State Univ, Corvallis, OR 97331-4605 USA
  42.  
  43. Energy conservation principle:  It doesn't matter.
  44.