[PATCH 0/9] Optimized expf, exp2f, logf, log2f and powf
H.J. Lu
hjl.tools@gmail.com
Sat Sep 23 23:03:00 GMT 2017
On 9/20/17, Szabolcs Nagy <szabolcs.nagy@arm.com> wrote:
> On 19/09/17 13:49, Szabolcs Nagy wrote:
>> updated patchset, now with logf, log2f and powf too.
>> some libm_alias_float changes in math/w_*_compat.c got reverted.
>>
>> Szabolcs Nagy (9):
>> Optimized generic expf and exp2f with wrappers
>> New expf and exp2f version without SVID compat wrapper
>> Do not wrap expf and exp2f
>> New generic logf
>> New generic log2f
>> New generic powf
>> New symbol version for logf, log2f and powf without SVID compat
>> Do not wrap logf, log2f and powf
>> AArch64: update libm-test-ulps
>>
>
> 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
FAIL: math/test-float-clog10
FAIL: math/test-float-exp
FAIL: math/test-float-finite-clog10
FAIL: math/test-float-finite-exp
FAIL: math/test-ifloat-clog10
FAIL: math/test-ifloat-exp
which are caused by
hjl@gnu-efi-2 build-x86_64-linux]$ cat math/test-float-exp.out
testing float (without inline functions)
Failure: Test: exp_downward (-0x1p-20)
Result:
is: 9.99998986e-01 0x1.ffffdep-1
should be: 9.99999046e-01 0x1.ffffe0p-1
difference: 5.96046447e-08 0x1.000000p-24
ulp : 1.0000
max.ulp : 0.0000
Failure: Test: exp_downward (0x5.8b90b8p+4)
Result:
is: 3.40279831e+38 0x1.ffff06p+127
should be: 3.40279851e+38 0x1.ffff08p+127
difference: 2.02824096e+31 0x1.000000p+104
ulp : 1.0000
max.ulp : 0.0000
Maximal error of `exp_downward'
is : 1 ulp
accepted: 0 ulp
Failure: Test: exp_towardzero (-0x1p-20)
Result:
is: 9.99998986e-01 0x1.ffffdep-1
should be: 9.99999046e-01 0x1.ffffe0p-1
difference: 5.96046447e-08 0x1.000000p-24
ulp : 1.0000
max.ulp : 0.0000
Failure: Test: exp_towardzero (0x5.8b90b8p+4)
Result:
is: 3.40279831e+38 0x1.ffff06p+127
should be: 3.40279851e+38 0x1.ffff08p+127
difference: 2.02824096e+31 0x1.000000p+104
ulp : 1.0000
max.ulp : 0.0000
Maximal error of `exp_towardzero'
is : 1 ulp
accepted: 0 ulp
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?
--
H.J.
More information about the Libc-alpha
mailing list