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

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


On 9/24/17, H.J. Lu <hjl.tools@gmail.com> wrote:
> 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.
>

Hi Andrew,

Here is a similar patch for i386 n hjl/nsz/math branch with updated
i386 libm-test-ulps.
Can you verify its performance on i686?

Thanks.


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


More information about the Libc-alpha mailing list