[PATCH 0/9] Optimized expf, exp2f, logf, log2f and powf

H.J. Lu hjl.tools@gmail.com
Sun Sep 24 09:44:00 GMT 2017


On 9/23/17, H.J. Lu <hjl.tools@gmail.com> wrote:
>
>
> On September 24, 2017 8:53:33 AM GMT+08:00, Arjan van de Ven
> <arjan@linux.intel.com> wrote:
>>>>>
>>>>
>>>> now i added these to an nsz/math branch so others can test it.
>>>>
>>>
>>> I created hjl/nsz/math branch to replace x86-64 assembly versions of
>>> e_expf with generic
>>> e_expf.c.  I got
>>>
>>
>><snip results>
>>
>>all results are <= 1ulp
>>
>>>
>>> Test suite completed:
>>>    356 test cases plus 352 tests for exception flags and
>>>      352 tests for errno executed.
>>>    6 errors occurred.
>>> [hjl@gnu-efi-2 build-x86_64-linux]$
>>>
>>> Arjan, have you measured performance assembly versions of expf vs
>>generic expf?
>>>
>>
>>the generic expf is faster than the ASM version; the generic version
>>has an order 3 polyinomal
>>while the ASM version has an order 4.
>>In addition, the embedding of the errno stuff is a big deal (I already
>>had that for exp() in my
>>own project) since the exp[f]() code knows exactly when it's not needed
>>at all (the fast path)
>>
>>so we really should move x86-64 over to this generic version if the
>>1ulp is acceptable
>
> Agreed. I think 1 up is acceptable. I will prepare a patch
> to do that.
>

Here is the patch on hjl/nsz/math branch with updated
sysdeps/x86_64/fpu/libm-test-ulps.

-- 
H.J.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-x86-64-Replace-assembly-versions-of-e_expf-with-gene.patch
Type: text/x-patch
Size: 22393 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20170924/b5188144/attachment.bin>


More information about the Libc-alpha mailing list