This is the mail archive of the
gsl-discuss@sources.redhat.com
mailing list for the GSL project.
looking for info on intel FPU status word
- To: gsl-discuss at sources dot redhat dot com
- Subject: looking for info on intel FPU status word
- From: Steve ROBBINS <stever at bic dot mni dot mcgill dot ca>
- Date: Sat, 22 Sep 2001 15:29:40 -0400
Hello,
The GSL manual has a nice section on IEEE floating point
and on debugging numerical programs. That was quite informative,
but now that I know about GDB's "info float", I need help
to decipher its output :-)
In brief: my program is getting killed by SIGFPE and I want
to know why. With the help of the debugger and the core
file, I can get a lot of info, e.g.
(gdb) info float
R7: Valid 0x407eae650aca83660000 +2.318103121181380906e+38
R6: Empty 0x405fbb2c9c628c121000
R5: Valid 0x4024a9d39c27d0a70000 +182349924852.1630859
R4: Special 0x407eae650aca83660000 +2.318103121181380906e+38
R3: Empty 0x407eec0030dc78496800
R2: Empty 0x407ddc09d81377b99800
R1: Empty 0x407d895ade34733f1800
=>R0: Valid 0x407f82a65ec7673d7000 +3.473269661508283157e+38
Status Word: 0x00f0 UE PE ES SF
TOP: 0
Control Word: 0x0272 DM UM PM
PC: Double Precision (53-bits)
RC: Round to nearest
...
But I don't know what the abbreviations "UE", "PE", etc all mean.
I can guess, but I'd rather read a short document summarizing
the FPU status bits, etc.
I am working with an intel Pentium II in the above example, but I
also work on SGI machines, so help in both cases would be appreciated.
Thanks,
-S