home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.sgi.hardware
- Path: sparky!uunet!wupost!howland.reston.ans.net!sol.ctr.columbia.edu!venezia!penev
- From: penev@venezia (Penio Penev)
- Subject: R3000 -> R4000 incompatibility?
- Sender: nobody@ctr.columbia.edu
- Organization: Rockefeller University
- Date: Thu, 24 Dec 1992 07:06:21 GMT
- X-Newsreader: TIN [version 1.1 PL6]
- Message-ID: <1992Dec24.070621.2821@sol.ctr.columbia.edu>
- Reply-To: penev@venezia.rockefeller.edu
- X-Posted-From: venezia.rockefeller.edu
- NNTP-Posting-Host: sol.ctr.columbia.edu
- Lines: 30
-
-
- Does any one know a reason, why a program, runnng on R3000 would not
- run on R4000?
-
- I'm using only ALU, memory and branch instructions. No coprocessor
- (0 or 1), not mul/dev.
-
- The program runs on R3000 (IRIX 4.0.1), but fails on R4000 (4.0.4).
- The error is reproducible, occures allways in the same region of the
- program, and behaves identically on successive runs. It seems to me
- like a jump to a bad address, resulting from a bad value in the $ra
- register.The problem is that whenever I put brakepoints "close enough"
- and do noting, but cont in them, it disappers.
-
- I have two explanations: 1) I do not fill the load delay slot
- properly, which results in jump to garbage. 2) I have made a mistake,
- but such a one, that the R3000 hazard (un)handling corrects it.
-
- I tried very hard to get the worng register before the jump, but
- apparently I couldn't. As soon as I put a break point, the error
- disapperars.
-
-
- Has anyone, presumably writing in .set reorder no, seen such
- behavioural pattern?
-
- Thanks in advance.
-
- -- Penio. penev@venezia.rockefeller.edu
-
-