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]

Re: [PATCH], PowerPC IEEE 128-bit patch #8 (libgcc bits)


Assuming the 17 sub-patches within patch #7 are approved, this patch adds the
necessary bits to libgcc to build the __float128 emulation functions.

Originally, it was thought that since it uses the TFmode emulation functions
from the libgcc/soft-fp directory, that we would need to submit the patches
through glibc where the master source lives.

However, since we don't do any modification of the soft-fp sources, but do it
all through support in the libgcc/config/rs6000 directory, I'm submitting this
patch to libgcc.

This patch passes bootstrap and regression testing on a little endian power8
system (previous versions of the patch also were tested on a big endian power7
system).  Once the patch #7 sub-patches are checked in, is this patch
appropriate to be checked in?

2015-10-27  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* Makefile.in (EXTRA_CLEAN): New variable of additional files to
	clean.
	(FLAGS_TO_PASS): Add EXTRA_CLEAN.
	(clean): Delete EXTRA_CLEAN files.

	* configure.ac (powerpc*-*-linux*): If the compiler is capable of
	generating __float128 code, build the __float128 emulation
	libraries.
	* configure: Regenerate.

	* config/rs6000/extendkftf2.c: New files for IEEE 128-bit floating
	point support.
	* config/rs6000/cmpukf2.c: Likewise.
	* config/rs6000/trunctfk2.c: Likewise.
	* config/rs6000/quad-float128.h: Likewise.
	* config/rs6000/t-float128: Likewise.
	* config/rs6000/float128-sed: Likewise.

	* config/rs6000/sfp-machine.h (_FP_W_TYPE_SIZE): Update
	defintiions to use 64-bit types for 64-bit systems or 32-bit VSX
	systems with IEEE 128-bit floating point support.
	(_FP_W_TYPE): Likewise.
	(_FP_WS_TYPE): Likewise.
	(_FP_I_TYPE): Likewise.
	(TItype): Add defintions for IEEE 128-bit floating point support.
	(UTItype): Likewise.
	(TI_BITS): Likewise.
	(_FP_MUL_MEAT_Q): Use 64-bit types on 64-bit systems and for
	32-bit VSX systems with IEEE 128-bit floating point.
	(_FP_DIV_MEAT_Q): Likewise.
	(_FP_NANFRAC_Q): Likewise.

	* config/rs6000/libgcc-glibc.ver: Add requires for GCC 6.0 adding
	IEEE 128-bit floating point support.

-- 
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: ieee128-patch08b
Description: Text document


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