On 02/07/2014 01:49 PM, Peter Maydell wrote: > /* Zero plus something non-zero : just return the something */ > + if (flags & float_muladd_halve_result) { > + if (cExp == 0) { > + shift32RightJamming(cSig, 1, &cSig); > + } else if (cExp == 1) { > + shift32RightJamming(cSig, 1, &cSig); > + cSig |= (1 << 22); > + cExp = 0; > + } else { > + cExp--; > + } Surely better to just use roundAndPackFloat for this case. Looks to me that you're missing inexact and underflow exceptions at least. > + } > return packFloat32(cSign ^ signflip, cExp, cSig); > } r~ _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm