On Thu, Jan 06, 2011 at 03:34:38PM +0000, Peter Maydell wrote: > Similarly I'm dubious about uses in helper_fsel, helper_fcmpu > and helper_fcmpo, efsctsi, efsctui, efsctsiz, efsctuiz, efsctsf, > efsctuf and all the helper_efd* functions. I haven't actually > checked them all, but for instance efdctsi in the Power ISA > 2.03 spec says "NaNs are converted as though they were zero", > but qemu's code says: > /* NaN are not treated the same way IEEE 754 does */ > if (unlikely(float64_is_quiet_nan(u.d))) > return 0; > > which is not going to do the right thing for signaling NaNs.
I think you are correct about fsel, fcmpu, and fcmpo. The E500 FP instructions are broken for various corner cases (and there are a lot of them, because E500 is screwy). I've been meaning to go through and fix them up, but haven't taken the time to do so. -Nathan