Re: Bug in 64 bit Phix
- Posted by petelomax May 29, 2021
- 1074 views
Yep, that was precisely it.
9999999994 === #2540BE3FA, and pilx86.e/emitHexDword() was emitting #540BE3FA, dropping the #2 high-dword.
It now checks for v<-#80000000 or v>#FFFFFFFF, and there is a new emitHexQuadword() for cases that need it.
Thanks. I had a bit of brain-freeze due to the rather long-winded wild goose chase it took to get to the above example.
(Of course I've run slap into the next issue... then again me finding them has to be better than shipping a release w/o detecting them)
Update, just for completeness: Now fixed, that turned out to be another long-dormant shocker... cmp [var],reg was (always) emitting an out-by-4 address! (again, on 64-bit only)