This is the mail archive of the gsl-discuss@sources.redhat.com mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

looking for info on intel FPU status word


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]