On Sun, May 23, 2010 at 12:37 PM, John David Anglin <[email protected]> wrote: > Carlos, > > You have found a bug. The code should xor the sign bit when doing > negation. The existing code doesn't work for NANs. I'll try to > fix negdf2 and negsf2.
Should I file a bug? >> Then it loads something which I assume *should* be -1, but isn't: >> >> .LC2: >> .word -1074790400 >> .word 0 >> >> What is this value, it's 0xbff0000000000000 e.g. -1.875. Should it be >> 0xbf80000000000000 e.g. -1.0 exactly, but it's not? Is this a mistake? > > I believe 0xbff0000000000000 is the correct double representation > for -1.0. 0xbf800000 is the float representation for -1.0. You are correct, I've checked for 64-bit, and this is correct. I was accidentally using the 32-bit float formats. However, there is a bug in gdb then, which shows the NaN value as a 32-bit value and interprets only the top 32-bits of the 64-bit double -1.0 and displays -1.875 as if it were a 32-bit float. Cheers, Carlos. -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

