On Mon, Feb 7, 2011 at 1:41 PM, <ri...@happyleptic.org> wrote: > The problem is : of these 64 bits, only the 32 lowest bits were set by > guile, and the upper 32 are desperately random.
How were those lower 32bits set? If set by the 32bit instructions then it is automatically sign extended. If not then there is a bug in how guile is doing the returns Unless you have a bug somewhere in which you are using a non sign extended value with the 32bit instructions which then it becomes undefined at what the value of those instructions do (could be either treating it as a 64bit value, or do a sign extend or even put 0xDEADBEEFDEADBEEF in the register which is what the Octeon simulators do). -- Pinski