This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: optimized expf for x86_32


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]