From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
To: libc-alpha@sourceware.org
Subject: Re: [PATCH 3/5] i386: Use generic exp10f
Date: Wed, 20 May 2020 17:19:01 -0300 [thread overview]
Message-ID: <23e4b77b-643c-fb17-4622-679b22b3c1de@linaro.org> (raw)
In-Reply-To: <221a485a-8b7d-596d-8521-0930b2e460df@linaro.org>
Ping (x2).
On 29/04/2020 14:11, Adhemerval Zanella wrote:
> Ping.
>
> On 09/04/2020 16:59, Adhemerval Zanella wrote:
>> The generic implementation is twice as fast. Using the exp10f
>> benchmark:
>>
>> * master:
>> "exp10f": {
>> "": {
>> "duration": 4.25753e+09,
>> "iterations": 3.3376e+07,
>> "max": 1414.77,
>> "min": 103.649,
>> "mean": 127.563
>> }
>> }
>>
>> * patched:
>> "exp10f": {
>> "": {
>> "duration": 4.05755e+09,
>> "iterations": 6.9136e+07,
>> "max": 1489.64,
>> "min": 50.95,
>> "mean": 58.6894
>> }
>> }
>>
>> Checked on i686-linux-gnu.
>> ---
>> sysdeps/i386/fpu/e_exp10f.S | 54 -------------------------------------
>> 1 file changed, 54 deletions(-)
>> delete mode 100644 sysdeps/i386/fpu/e_exp10f.S
>>
>> diff --git a/sysdeps/i386/fpu/e_exp10f.S b/sysdeps/i386/fpu/e_exp10f.S
>> deleted file mode 100644
>> index 196ce8744a..0000000000
>> --- a/sysdeps/i386/fpu/e_exp10f.S
>> +++ /dev/null
>> @@ -1,54 +0,0 @@
>> -/*
>> - * Written by Ulrich Drepper.
>> - */
>> -
>> -#include <machine/asm.h>
>> -#include <i386-math-asm.h>
>> -#include <libm-alias-finite.h>
>> -
>> -DEFINE_FLT_MIN
>> -
>> -#ifdef PIC
>> -# define MO(op) op##@GOTOFF(%ecx)
>> -#else
>> -# define MO(op) op
>> -#endif
>> -
>> - .text
>> -/* 10^x = 2^(x * log2(10)) */
>> -ENTRY(__ieee754_exp10f)
>> -#ifdef PIC
>> - LOAD_PIC_REG (cx)
>> -#endif
>> - flds 4(%esp)
>> -/* I added the following ugly construct because exp(+-Inf) resulted
>> - in NaN. The ugliness results from the bright minds at Intel.
>> - For the i686 the code can be written better.
>> - -- drepper@cygnus.com. */
>> - fxam /* Is NaN or +-Inf? */
>> - fstsw %ax
>> - movb $0x45, %dh
>> - andb %ah, %dh
>> - cmpb $0x05, %dh
>> - je 1f /* Is +-Inf, jump. */
>> - fldl2t
>> - fmulp /* x * log2(10) */
>> - fld %st
>> - frndint /* int(x * log2(10)) */
>> - fsubr %st,%st(1) /* fract(x * log2(10)) */
>> - fxch
>> - f2xm1 /* 2^(fract(x * log2(10))) - 1 */
>> - fld1
>> - faddp /* 2^(fract(x * log2(10))) */
>> - fscale /* e^x */
>> - fstp %st(1)
>> - FLT_NARROW_EVAL_UFLOW_NONNEG_NAN
>> - ret
>> -
>> -1: testl $0x200, %eax /* Test sign. */
>> - jz 2f /* If positive, jump. */
>> - fstp %st
>> - fldz /* Set result to 0. */
>> -2: ret
>> -END (__ieee754_exp10f)
>> -libm_alias_finite (__ieee754_exp10f, __exp10f)
>>
next prev parent reply other threads:[~2020-05-20 20:19 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-09 19:59 [PATCH 1/5] benchtests: Add exp10f benchmark Adhemerval Zanella
2020-04-09 19:59 ` [PATCH 2/5] math: Optimized generic exp10f with wrappers Adhemerval Zanella
2020-04-10 6:32 ` paul zimmermann
2020-04-16 20:42 ` Adhemerval Zanella
2020-04-29 17:11 ` Adhemerval Zanella
2020-05-20 20:18 ` Adhemerval Zanella
2020-04-09 19:59 ` [PATCH 3/5] i386: Use generic exp10f Adhemerval Zanella
2020-04-29 17:11 ` Adhemerval Zanella
2020-05-20 20:19 ` Adhemerval Zanella [this message]
2020-04-09 19:59 ` [PATCH 4/5] New exp10f version without SVID compat wrapper Adhemerval Zanella
2020-04-29 17:11 ` Adhemerval Zanella
2020-05-20 20:19 ` Adhemerval Zanella
2020-04-09 19:59 ` [PATCH 5/5] ia64: Use generic exp10f Adhemerval Zanella
2020-04-09 21:18 ` Joseph Myers
2020-04-16 20:52 ` Adhemerval Zanella
2020-04-29 17:11 ` Adhemerval Zanella
2020-05-20 20:19 ` Adhemerval Zanella
2020-04-16 20:41 ` [PATCH 1/5] benchtests: Add exp10f benchmark Adhemerval Zanella
2020-04-29 17:11 ` Adhemerval Zanella
2020-05-20 20:18 ` Adhemerval Zanella
2020-06-18 16:48 [PATCH 3/5] i386: Use generic exp10f Wilco Dijkstra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=23e4b77b-643c-fb17-4622-679b22b3c1de@linaro.org \
--to=adhemerval.zanella@linaro.org \
--cc=libc-alpha@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).