On 03/15/2016 10:25 AM, Paul Gofman wrote:
On 03/15/2016 05:53 AM, Matteo Bruni wrote:
- {sizeof(float), 4, PRES_VT_FLOAT } /* PRES_REGTAB_REG */
I think I had tested this in the past and it turned out temporaries are stored as doubles. I'll see if I can find something.
Oh, this looks very likely. I will check it somehow.
I added a test case which effectively involves adding 2 values from registers with the difference of order of magnitude 1e12, and then subtracting the first (bigger) value back. So this should result in nearly the added small value if double precision and 0 if single precision. The test results are different for 32 and 64 bit application: it is float precision for 32 bit test (both on Win64 and Win32), and double precision for 64-bit test. So I think we should support the same introducing arch dependency version but for now I left single precision and marked this issue as TODO in a comment.