lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Roberto Ierusalimschy wrote:
Another hypothesis is that the compiler is transforming the
snippet "fistp m64; mov r32, mem" into "fistp m32; mov r32, mem"
because it forgot that there can be side-effects from narrowing a
64 bit fistp into a 32 bit fistp, even if the upper 32 bits of the
64 bit result are never used.
Time to check the assembly output I guess, but this is MSVC which I
am still avoiding installing... I do feel bad throwing about
armchair hypotheses, so I'll slinker away for now and find some time
later to see for myself the behaviour of fistp in compiler-generated
code... :-)

What is the bug, to begin with? In my tests (MSVC) everything works
fine.

Probably nothing. Joonas mentioned the 0xFF000000 case but Dmitry was using lua_number2int() there. I'm not sure if Joonas is basing this on Dmitry's posting or his own testing or knowledge.

--
Cheers,
Kein-Hong Man (esq.)
Kuala Lumpur, Malaysia