On Mon, Dec 10, 2007 at 01:00:52PM +0800, Liu Yu wrote: > > This patch fixes rounding bug in emulation for double float operating on > PowerPC platform. > > When pack double float operand, it need to truncate the tail due to the > limited precision. > If the truncated part is not zero, the last bit of work bit (totally 3 bits) > need to '|' 1. > > This patch is completed in _FP_FRAC_SRS_2(X,N,sz) > (arch/powerpc/math-emu/op-2.h). > Originally the code leftwards rotates the operand to just keep the truncated > part, > then check whether it is zero. However, the number it rotates is not correct > when > N is not smaller than _FP_W_TYPE_SIZE, and it will cause the work bit '|' 1 > in the improper case. > > This patch fixes this issue. > > Signed-off-by: Liu Yu <[EMAIL PROTECTED]>
Wow someone deciphered the hideous macro hell of the math emulation code enough to fix a bug. I don't suppose you'd care to fix the millions of warnings that the math-emu code generates...? -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev