Mac Intel

Joel Reymont <>
Mon Aug 14 18:31:34 CEST 2006


The part that baffles me is this:

double a = 3.23e133;
double b = 3.57e257;
double res;

void do_fmul(void)
{
   res = a * b;
}

Running the above results in the following output. Note that FPU  
instruction pointer is 0. The SSE2 exception reported is overflow.

mxcsr & 0x000F = 8
fpu ip = 0
fpu cs = 0
fpu opcode = 0

Now if a and b are set using atof("3.23e133") and atof("3.57e257")  
then I get this:

mxcsr & 0x000F = 8
fpu ip = 1ec1
fpu cs = 27
fpu opcode = 518

I can't figure this out. Of course it does not solve the issue of  
advancing over SSE2 instructions either.





More information about the erlang-questions mailing list