diff options
author | David Edelsohn <dje.gcc@gmail.com> | 2021-08-25 17:41:50 -0400 |
---|---|---|
committer | David Edelsohn <dje.gcc@gmail.com> | 2021-08-26 19:13:39 -0400 |
commit | 5889e842ae4df48ac471c47d6ed72e05041a1db8 (patch) | |
tree | 4d8c5d9550326852a893567dd05af10ecb1850b9 /gcc | |
parent | 5a6c626710ad2ac4baa2dba02fac0750177e3305 (diff) | |
download | gcc-5889e842ae4df48ac471c47d6ed72e05041a1db8.zip gcc-5889e842ae4df48ac471c47d6ed72e05041a1db8.tar.gz gcc-5889e842ae4df48ac471c47d6ed72e05041a1db8.tar.bz2 |
rs6000: inline ldouble __gcc_qsub
While performing some tests of IEEE 128 float for PPC64LE, Michael
Meissner noticed that __gcc_qsub is substantially slower than
__gcc_qadd. __gcc_qsub calls __gcc_add with the second operand
negated. Because the functions normally are invoked through
libgcc shared object, the extra PLT overhead has a large impact
on the overall time of the function. This patch converts
__gcc_qadd to a static inline function invoked by __gcc_qadd
and __gcc_qsub.
libgcc/ChangeLog:
* config/rs6000/ibm-ldouble.c (ldouble_qadd_internal): Rename from
__gcc_qadd.
(__gcc_qadd): Call ldouble_qadd_internal.
(__gcc_qsub): Call ldouble_qadd_internal with second long double
argument negated.
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions