Module Name: src Committed By: dsl Date: Sun Mar 16 22:30:44 UTC 2014
Modified Files: src/lib/libm/src: s_exp2f.c Log Message: Fix overflow and underflow on i386. The return value of a 'float' function is in the x87 %st(0) register. This is an 80bit 'long double' register. If you multiply 0x1p100f by 0x1p100f the caller sees 0x1p200 - not the expected infinity. So use a 'double' value which goes through a store-load sequence to generate the required exception and value. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/lib/libm/src/s_exp2f.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.