|
From: Julian S. <js...@ac...> - 2005-08-23 09:32:40
|
On Tuesday 23 August 2005 05:40, Nicholas Nethercote wrote: > On Thu, 18 Aug 2005, Aghiles Kheffache wrote: > > I was wondering about the feasability of a project in Valgrind/Vex: > > tracking FPU operations that have a precision problems (such as adding a > > very small floating point number to a very large one). I am mainly > > interrested in 32 bit operations and I think that the 64 bit "limitation" > > in vex is not really a problem. > > > > Has somebody attempted this already ? > > The idea has been floated briefly before but I'm not aware of anyone who > has attempted it. It would be very interesting to see if this could be > made to work. I agree, it is interesting. It would help if you could describe in more detail what instrumentation you want to generate. One problem is, on x86, there is really no such thing as a 32-bit FP add; all FP math (on the x87) is at the native 80 bit width (kludged to 64 bits by V). And so all the FP expression trees in the IR are built with AddF64, MulF64, etc, and you have no way to know what was originally a C 'float' operation. Your scheme needs to take that into account. J |