PATCH: optimized expf for x86_32
H.J. Lu
hjl.tools@gmail.com
Mon Apr 2 14:44:00 GMT 2012
On Mon, Apr 2, 2012 at 7:30 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Mon, Apr 2, 2012 at 4:34 AM, Dmitrieva Liubov
> <liubov.dmitrieva@gmail.com> wrote:
>> Hello,
>>
>> This patch is just i386-update of the x86_64-version that we recently
>> provided to GLIBC. So it totally works in SSE, and only epilogue moves
>> result from SSE to FPU, but without explicit rounding of the result to
>> single precision and hence does not degrade accuracy of functions that
>> depend on it, including complex single precision functions.
>>
>> Performance on main path [-87;87] in cycles:
>>
>> Istanbul, Atom, Nehalem, AVX
>> Current __expf_finite: 79.20 326.29 98.05 99.05
>> Current __ieee754_expf: 70.69 293.30 91.38 94.76
>>
>> New __expf_finite: 64.29 145.14 42.31 35.95
>> New __ieee754_expf: 51.83 113.14 34.12 30.24
>>
>>
>> Testing passed for new expf with our proprietary test system that
>> tests on many intervals with different steps, checks for special
>> values (from ISO C) and corner cases. Test using “make check” from
>> GLIBC did not show new fails.
>>
>> ChangeLog:
>>
>> 2012-04-02 Liubov Dmitrieva <liubov.dmitrieva@gmail.com>
>>
>> * sysdeps/i386/fpu/multiarch/: New folder.
>> * sysdeps/i386/fpu/multiarch/init-arch.c: New file.
>> * sysdeps/i386/fpu/multiarch/init-arch.h: New file.
>> * sysdeps/i386/fpu/multiarch/ifunc-defines.sym: New file.
>> * sysdeps/i386/fpu/multiarch/Makefile: New file.
>> * sysdeps/i386/fpu/multiarch/e_expf.S: New file.
>> * sysdeps/i386/fpu/multiarch/e_expf-sse2.S: New file.
>>
>
> Why do we need to duplicate init-arch.c and init-arch.h?
> They are in sysdeps/i386/i686/multiarch?
>
I think all i386 multiarch codes should be under
sysdeps/i386/i686.
--
H.J.
More information about the Libc-alpha
mailing list