This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] PR target/85456, Fix __builtin_powil for -mabi=ieeelongdouble on PowerPC


This patch adds __powikf2 to libgcc, and makes GCC use it for __builtin_powil
when long double is IEEE 128-bit (-mabi=ieeelongdouble).

I tested it on a little endian power8 system with a bootstrap compiler.  There
were no regresion failures.  Can I check this into GCC 8?  This does not need
to be checked into GCC 7, since -mabi=ieeelongdouble was not fully supported in
that release.

[libgcc]
2018-04-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/85456
	* config/rs6000/_powikf2.c: New file.  Entry point for
	__builtin_powil when -mabi=ieeelongdouble is in effect.
	* config/rs6000/float128-ifunc.c (__powikf2_resolve): Add
	__powikf2 support.
	(__powikf2): Likewise.
	* config/rs6000/quad-float128.h (__powikf2_sw): Likewise.
	(__powikf2_hw): Likewise.
	(__powikf2): Likewise.
	* config/rs6000/t-float128 (fp128_ppc_funcs): Likewise.
	* config/rs6000/t-float128-hw (fp128_hw_func): Likewise.
	(_powikf2-hw.c): Likewise.

[gcc]
2018-04-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/85456
	* config/rs6000/rs6000.c (init_float128_ieee): Add support to call
	__powikf2 when long double is IEEE 128-bit.

[gcc/testsuite]
2018-04-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/85456
	* gcc.target/powerpc/pr85456.c: New test.

-- 
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA
email: meissner@linux.vnet.ibm.com, phone: +1 (978) 899-4797

Attachment: pr85456.patch01b
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]