appel@cs.Princeton.EDU (Andrew Appel) (12/18/90)
The MIPS assembler in release 4.51 has a nasty bug that is not present
in the 4.20 release. To wit:
-------------------------- bug.c -----------------------------
extern double foo();
main()
{
printf("%f\n", foo());
}
--------------------------------------------------------------
------------------------- foo.s ------------------------------
.set noreorder
dummy: .byte 0
maxint: .double 1073741824.0
.set reorder
.globl foo
.ent foo
foo: lwc1 $f0, maxint+4
lwc1 $f1, maxint
j $31
.end foo
--------------------------------------------------------------
Compile using: cc bug.c foo.s
In the 4.51 version, the floating point number that is loaded will be
from an address that is 4 bytes too high.
Is this newsgroup the appropriate place to put such bug reports?
Also, if someone authoritative from MIPS will respond to me by e-mail
acknowledging the bug report, I won't have to send it by other
channels as well.
Andrew W. Appel (& Lal George)
Princeton University
P.S. We are not amused.