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.

The problem is PA1.1 doesn't have a fneg instruction, so the above
takes a bit of work to implement.  You will get the correct result
if you specify -march=2.0.

> 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.

Dave
-- 
J. David Anglin                                  [email protected]
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: http://lists.debian.org/[email protected]

Reply via email to