gcc/libgcc/config/rs6000
David Edelsohn 5889e842ae 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.
2021-08-26 19:13:39 -04:00
..
_dd_to_kf.c Add conversions between _Float128 and Decimal. 2021-02-22 15:33:29 -05:00
_divkc3.c Practical improvement to libgcc complex divide 2021-04-28 21:54:44 +02:00
_kf_to_dd.c Add conversions between _Float128 and Decimal. 2021-02-22 15:33:29 -05:00
_kf_to_sd.c Add conversions between _Float128 and Decimal. 2021-02-22 15:33:29 -05:00
_kf_to_td.c Add conversions between _Float128 and Decimal. 2021-02-22 15:33:29 -05:00
_mulkc3.c Update copyright years. 2021-01-04 10:26:59 +01:00
_powikf2.c Update copyright years. 2021-01-04 10:26:59 +01:00
_sd_to_kf.c Add conversions between _Float128 and Decimal. 2021-02-22 15:33:29 -05:00
_td_to_kf.c Add conversions between _Float128 and Decimal. 2021-02-22 15:33:29 -05:00
aix-unwind.h Update copyright years. 2021-01-04 10:26:59 +01:00
aixinitfini.c
atexit.c Update copyright years. 2021-01-04 10:26:59 +01:00
crtcxa.c Update copyright years. 2021-01-04 10:26:59 +01:00
crtdbase.S Update copyright years. 2021-01-04 10:26:59 +01:00
crtresfpr.S Update copyright years. 2021-01-04 10:26:59 +01:00
crtresgpr.S Update copyright years. 2021-01-04 10:26:59 +01:00
crtrestvr.S Update copyright years. 2021-01-04 10:26:59 +01:00
crtresxfpr.S Update copyright years. 2021-01-04 10:26:59 +01:00
crtresxgpr.S Update copyright years. 2021-01-04 10:26:59 +01:00
crtsavevr.S Update copyright years. 2021-01-04 10:26:59 +01:00
crtsavfpr.S Update copyright years. 2021-01-04 10:26:59 +01:00
crtsavgpr.S Update copyright years. 2021-01-04 10:26:59 +01:00
cxa_atexit.c Update copyright years. 2021-01-04 10:26:59 +01:00
cxa_finalize.c Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-asm.h Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-crt2.c Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-fallback.c Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-fpsave.S Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-gpsave.S Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-tramp.S Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-unwind.h Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-vecsave.S Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-world.S Update copyright years. 2021-01-04 10:26:59 +01:00
e500crtres32gpr.S Update copyright years. 2021-01-04 10:26:59 +01:00
e500crtres64gpr.S Update copyright years. 2021-01-04 10:26:59 +01:00
e500crtres64gprctr.S Update copyright years. 2021-01-04 10:26:59 +01:00
e500crtrest32gpr.S Update copyright years. 2021-01-04 10:26:59 +01:00
e500crtrest64gpr.S Update copyright years. 2021-01-04 10:26:59 +01:00
e500crtresx32gpr.S Update copyright years. 2021-01-04 10:26:59 +01:00
e500crtresx64gpr.S Update copyright years. 2021-01-04 10:26:59 +01:00
e500crtsav32gpr.S Update copyright years. 2021-01-04 10:26:59 +01:00
e500crtsav64gpr.S Update copyright years. 2021-01-04 10:26:59 +01:00
e500crtsav64gprctr.S Update copyright years. 2021-01-04 10:26:59 +01:00
e500crtsavg32gpr.S Update copyright years. 2021-01-04 10:26:59 +01:00
e500crtsavg64gpr.S Update copyright years. 2021-01-04 10:26:59 +01:00
e500crtsavg64gprctr.S Update copyright years. 2021-01-04 10:26:59 +01:00
eabi-ci.S Update copyright years. 2021-01-04 10:26:59 +01:00
eabi-cn.S Update copyright years. 2021-01-04 10:26:59 +01:00
eabi.S Update copyright years. 2021-01-04 10:26:59 +01:00
exit.h Update copyright years. 2021-01-04 10:26:59 +01:00
extendkftf2-sw.c Update copyright years. 2021-01-04 10:26:59 +01:00
fixkfti-sw.c Conversions between 128-bit integer and floating point values. 2021-06-09 11:20:07 -05:00
fixunskfti-sw.c Conversions between 128-bit integer and floating point values. 2021-06-09 11:20:07 -05:00
float128-hw.c Update copyright years. 2021-01-04 10:26:59 +01:00
float128-ifunc.c rs6000: Fix typos in float128 ISA3.1 support 2021-06-22 23:09:30 -05:00
float128-p10.c Conversions between 128-bit integer and floating point values. 2021-06-09 11:20:07 -05:00
float128-sed Conversions between 128-bit integer and floating point values. 2021-06-09 11:20:07 -05:00
float128-sed-hw Conversions between 128-bit integer and floating point values. 2021-06-09 11:20:07 -05:00
floattikf-sw.c Conversions between 128-bit integer and floating point values. 2021-06-09 11:20:07 -05:00
floatuntikf-sw.c Conversions between 128-bit integer and floating point values. 2021-06-09 11:20:07 -05:00
freebsd-unwind.h Update copyright years. 2021-01-04 10:26:59 +01:00
gthr-aix.h Update copyright years. 2021-01-04 10:26:59 +01:00
ibm-ldouble-format Update copyright years. 2021-01-04 10:26:59 +01:00
ibm-ldouble.c rs6000: inline ldouble __gcc_qsub 2021-08-26 19:13:39 -04:00
libgcc-aix-cxa.ver on_exit.c: New file. 2015-11-15 18:41:44 -05:00
libgcc-darwin.10.4.ver Update copyright years. 2021-01-04 10:26:59 +01:00
libgcc-darwin.10.5.ver Update copyright years. 2021-01-04 10:26:59 +01:00
libgcc-glibc.ver Update copyright years. 2021-01-04 10:26:59 +01:00
libgcc-ibm-ldouble.ver
linux-unwind.h Update copyright years. 2021-01-04 10:26:59 +01:00
morestack.S [POWER10] __morestack calls from pcrel code 2021-07-15 15:27:09 +09:30
on_exit.c Update copyright years. 2021-01-04 10:26:59 +01:00
quad-float128.h rs6000: Fix *TItype_ppc 2021-06-10 15:20:09 +00:00
sfp-exceptions.c Update copyright years. 2021-01-04 10:26:59 +01:00
sfp-machine.h [libgcc] Remove semicolon after do {} while (0) in FP_HANDLE_EXCEPTIONS 2017-11-07 08:11:43 +00:00
sol-ci.S Update copyright years. 2021-01-04 10:26:59 +01:00
sol-cn.S Update copyright years. 2021-01-04 10:26:59 +01:00
t-aix-cxa aix: Add GCC64 configuration and FAT target libraries. 2020-06-21 14:14:46 -04:00
t-crtstuff PR85532, crtend.o built without --enable-initfini-array has bad .eh_frame 2018-04-27 18:36:39 +09:30
t-darwin [Darwin] Some TLC for older Darwin versions. 2019-07-03 18:36:28 +00:00
t-darwin64 [Darwin] Some TLC for older Darwin versions. 2019-07-03 18:36:28 +00:00
t-e500v1-fp Update copyright years. 2021-01-04 10:26:59 +01:00
t-e500v2-fp Update copyright years. 2021-01-04 10:26:59 +01:00
t-float128 Conversions between 128-bit integer and floating point values. 2021-06-09 11:20:07 -05:00
t-float128-hw rs6000: Fix typos in float128 ISA3.1 support 2021-06-22 23:09:30 -05:00
t-float128-p10-hw rs6000: Fix typos in float128 ISA3.1 support 2021-06-22 23:09:30 -05:00
t-freebsd Update copyright years. 2021-01-04 10:26:59 +01:00
t-freebsd64
t-ibm-ldouble
t-linux rs6000: Fix up libgcc ABI when built with --with-long-double-format=ieee [PR97653] 2021-04-03 10:05:32 +02:00
t-lynx
t-netbsd
t-ppc64-fp [RS6000] Use LIB2_SIDITI_CONV_FUNCS in place of ppc64-fp.c 2020-11-17 10:39:01 +10:30
t-ppccomm
t-savresfgpr
t-slibgcc-aix Update copyright years. 2021-01-04 10:26:59 +01:00
t-stack-rs6000 rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK): Define. 2015-05-20 10:56:28 +09:30
tramp.S Fix logic error in 32-bit trampolines. 2021-04-23 18:16:03 -04:00
trunctfkf2-sw.c Update copyright years. 2021-01-04 10:26:59 +01:00