-mfpmath=sse -mno-80387 troubles

tbp tbptbp@gmail.com
Fri Jan 28 19:01:00 GMT 2005


Found the culprit.
Somewhere my rdtsc timer asks for a int64_t -> float64_t conversion (i
thought it would be straighter than uint64_t -> float64_t if a bit
wrong).

Without -mno-80387 there's a "fildll (%esp); fstpl  0x18(%esp)".
With -mno-80387 there's some pushing and then a call to floatdidf
which returns the result on the top of the fpu stack.

I'm sure that's not the only thing that goes wrong, but frankly i
wasn't expecting a cast to go through libc.
Live & learn i guess :)



More information about the Gcc mailing list