gcc/libgcc/config
Michael Meissner 29176d57e6 rs6000-builtin.def (BU_FLOAT128_2): Add support for pack/unpack functions for __ibm128.
[gcc]
2016-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
	for pack/unpack functions for __ibm128.
	(PACK_IF): Likewise.
	(UNPACK_IF): Likewise.

	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
	support for __ibm128 pack/unpack functions.
	(rs6000_invalid_builtin): Likewise.
	(rs6000_init_builtins): Likewise.
	(rs6000_opt_masks): Likewise.

	* config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
	(RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
	functions
	(RS6000_BTM_COMMON): Likewise.

	* config/rs6000/rs6000.md (f128_vsx): New mode attribute.
	(unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
	disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
	128-bit floating point.  Add support for the double values to be
	in Altivec registers for TF/IF packing and unpacking, but restrict
	TD packing sub-fields to be FPR registers.  Don't allow overlapped
	register support for packing.  Allow pack inputs to be memory
	locations.  Don't build generator functions for unpack<mode>_dm
	and unpack<mode>_nodm.
	(unpack<mode>_dm): Likewise.
	(unpack<mode>_nodm): Likewise.
	(pack<mode>): Likewise.

	* config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
	built-in functions to pack/unpack explicit __ibm128 values.
	(__builtin_unpack_ibm128): Likewise.

	* doc/extend.texi (PowerPC Built-in Functions): Document
	__builtin_pack_ibm128 and __builtin_unpack_ibm128.

[libgcc]
2016-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
	    Steven Munroe <munroesj@linux.vnet.ibm.com>
	    Tulio Magno Quites Machado Filho <tulioqm@br.ibm.com>

	* config/rs6000/sfp-exceptions.c: New file to provide exception
	support for IEEE 128-bit floating point.

	* config/rs6000/float128-hw.c: New file for ISA 3.0 IEEE 128-bit
	floating point hardware support.

	* config/rs6000/floattikf.c: New files for IEEE 128-bit floating
	point conversions.
	* config/rs6000/fixunskfti.c: Likewise.
	* config/rs6000/fixkfti.c: Likewise.
	* config/rs6000/floatuntikf.c: Likewise.
	* config/rs6000/extendkftf2-sw.c: Likewise.
	* config/rs6000/trunctfkf2-sw.c: Likewise.

	* config/rs6000/float128-ifunc.c: New file to pick either IEEE
	128-bit floating point software emulation or use ISA 3.0 hardware
	support if it is available.

	* config/rs6000/quad-float128.h: New file to support IEEE 128-bit
	floating point.

	* config/rs6000/t-float128: New Makefile fragments to enable
	building __float128 emulation support.
	* config/rs6000/t-float128-hw: Likewise.

	* config/rs6000/float128-sed: New file to convert TF names to KF
	names for PowerPC IEEE 128-bit floating point support.

	* config/rs6000/sfp-machine.h (_FP_W_TYPE_SIZE): Use 64-bit types
	when building on 64-bit systems, or when VSX is enabled.
	(_FP_W_TYPE): Likewise.
	(_FP_WS_TYPE): Likewise.
	(_FP_I_TYPE): Likewise.
	(TItype): Define on 64-bit systems.
	(UTItype): Likewise.
	(TI_BITS): Likewise.
	(_FP_MUL_MEAT_D): Add support for using 64-bit types.
	(_FP_MUL_MEAT_Q): Likewise.
	(_FP_DIV_MEAT_D): Likewise.
	(_FP_DIV_MEAT_Q): Likewise.
	(_FP_NANFRAC_D): Likewise.
	(_FP_NANFRAC_Q): Likewise.
	(ISA_BIT): Add exception support if we are being compiled on a
	machine with hardware floating point support to build the IEEE
	128-bit emulation functions.
	(FP_EX_INVALID): Likewise.
	(FP_EX_OVERFLOW): Likewise.
	(FP_EX_UNDERFLOW): Likewise.
	(FP_EX_DIVZERO): Likewise.
	(FP_EX_INEXACT): Likewise.
	(FP_EX_ALL): Likewise.
	(__sfp_handle_exceptions): Likewise.
	(FP_HANDLE_EXCEPTIONS): Likewise.
	(FP_RND_NEAREST): Likewise.
	(FP_RND_ZERO): Likewise.
	(FP_RND_PINF): Likewise.
	(FP_RND_MINF): Likewise.
	(FP_RND_MASK): Likewise.
	(_FP_DECL_EX): Likewise.
	(FP_INIT_ROUNDMODE): Likewise.
	(FP_ROUNDMODE): Likewise.

	* configure.ac (powerpc*-*-linux*): Check whether the PowerPC
	compiler can do __float128.
	* configure: Regenerate.

	* libgcc/config.host (powerpc*-*-linux*): If compiler can compile
	VSX code, enable IEEE 128-bit floating point.

From-SVN: r232346
2016-01-13 20:07:12 +00:00
..
aarch64 Update copyright years. 2016-01-04 15:30:50 +01:00
alpha Update copyright years. 2016-01-04 15:30:50 +01:00
arc Update copyright years. 2016-01-04 15:30:50 +01:00
arm Update copyright years. 2016-01-04 15:30:50 +01:00
avr Update copyright years. 2016-01-04 15:30:50 +01:00
bfin Update copyright years. 2016-01-04 15:30:50 +01:00
c6x Update copyright years. 2016-01-04 15:30:50 +01:00
cr16 Update copyright years. 2016-01-04 15:30:50 +01:00
cris Update copyright years. 2016-01-04 15:30:50 +01:00
epiphany Update copyright years. 2016-01-04 15:30:50 +01:00
fr30 Update copyright years. 2016-01-04 15:30:50 +01:00
frv Update copyright years. 2016-01-04 15:30:50 +01:00
ft32 Update copyright years. 2016-01-04 15:30:50 +01:00
h8300 Update copyright years. 2016-01-04 15:30:50 +01:00
i386 Update copyright years. 2016-01-04 15:30:50 +01:00
ia64 Update copyright years. 2016-01-04 15:30:50 +01:00
iq2000 Update copyright years. 2016-01-04 15:30:50 +01:00
libbid Update copyright years. 2016-01-04 15:30:50 +01:00
lm32 Update copyright years. 2016-01-04 15:30:50 +01:00
m32c Update copyright years. 2016-01-04 15:30:50 +01:00
m32r Update copyright years. 2016-01-04 15:30:50 +01:00
m68k Update copyright years. 2016-01-04 15:30:50 +01:00
mcore Update copyright years. 2016-01-04 15:30:50 +01:00
mep Update copyright years. 2016-01-04 15:30:50 +01:00
microblaze Update copyright years. 2016-01-04 15:30:50 +01:00
mips Update copyright years. 2016-01-04 15:30:50 +01:00
mmix Update copyright years. 2016-01-04 15:30:50 +01:00
moxie Update copyright years. 2016-01-04 15:30:50 +01:00
msp430 Update copyright years. 2016-01-04 15:30:50 +01:00
nds32 Update copyright years. 2016-01-04 15:30:50 +01:00
nios2 Update copyright years. 2016-01-04 15:30:50 +01:00
nvptx Update copyright years. 2016-01-04 15:30:50 +01:00
pa Update copyright years. 2016-01-04 15:30:50 +01:00
pdp11 Append to HOST_LIBGCC2_CFLAGS in libgcc 2011-11-07 17:14:32 +00:00
rl78 Update copyright years. 2016-01-04 15:30:50 +01:00
rs6000 rs6000-builtin.def (BU_FLOAT128_2): Add support for pack/unpack functions for __ibm128. 2016-01-13 20:07:12 +00:00
rx Update copyright years. 2016-01-04 15:30:50 +01:00
s390 Update copyright years. 2016-01-04 15:30:50 +01:00
score Update copyright years. 2016-01-04 15:30:50 +01:00
sh Update copyright years. 2016-01-04 15:30:50 +01:00
sol2 Update copyright years. 2016-01-04 15:30:50 +01:00
sparc Update copyright years. 2016-01-04 15:30:50 +01:00
spu Update copyright years. 2016-01-04 15:30:50 +01:00
stormy16 Update copyright years. 2016-01-04 15:30:50 +01:00
tilegx TILE-Gx big endian support. 2014-02-24 15:08:00 +00:00
tilepro Update copyright years. 2016-01-04 15:30:50 +01:00
v850 Update copyright years. 2016-01-04 15:30:50 +01:00
vax Update copyright years. 2016-01-04 15:30:50 +01:00
visium Update copyright years. 2016-01-04 15:30:50 +01:00
vms Update copyright years. 2016-01-04 15:30:50 +01:00
xtensa Update copyright years. 2016-01-04 15:30:50 +01:00
darwin-64.c Update copyright years. 2016-01-04 15:30:50 +01:00
darwin-crt3.c Update copyright years. 2016-01-04 15:30:50 +01:00
darwin-crt-tm.c Update copyright years. 2016-01-04 15:30:50 +01:00
gthr-lynx.h Update copyright years. 2016-01-04 15:30:50 +01:00
gthr-rtems.h Update copyright years. 2016-01-04 15:30:50 +01:00
gthr-vxworks.h Update copyright years. 2016-01-04 15:30:50 +01:00
hardfp.c Update copyright years. 2016-01-04 15:30:50 +01:00
libgcc-glibc.ver Update copyright years. 2016-01-04 15:30:50 +01:00
libgcc-libsystem.ver Move shlib support to toplevel libgcc 2011-11-02 10:49:46 +00:00
no-sfp-machine.h soft-fp: Move to ../libgcc. 2011-08-05 15:13:48 +00:00
no-unwind.h linux.h (MD_UNWIND_SUPPORT): Remove. 2011-06-03 18:30:39 +00:00
t-crtfm Remove obsolete Tru64 UNIX V5.1B support 2012-03-12 15:35:56 +00:00
t-crtstuff-pic Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
t-darwin * config/t-darwin (crt3.0): Remove work-around for fixed PR26840. 2012-07-14 13:50:59 +00:00
t-dfprules dfp-bit.c, dfp-bit.h: Move to ../libgcc. 2011-07-11 14:40:56 +00:00
t-eh-dw2-dip Makefile.in (UNWIND_H): Remove. 2011-08-05 14:37:48 +00:00
t-fdpbit Makefile.in (FPBIT_FUNCS, [...]): Remove. 2011-08-05 14:53:09 +00:00
t-fixedpoint-gnu-prefix Makefile.in (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): New. 2011-08-01 12:02:45 +00:00
t-fpbit Makefile.in (FPBIT_FUNCS, [...]): Remove. 2011-08-05 14:53:09 +00:00
t-freebsd-thread Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
t-gnu-prefix Makefile.in (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): New. 2011-08-01 12:02:45 +00:00
t-hardfp Update copyright years. 2016-01-04 15:30:50 +01:00
t-hardfp-sfdf Update copyright years. 2016-01-04 15:30:50 +01:00
t-libgcc-pic Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
t-libunwind Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
t-libunwind-elf Update copyright years. 2016-01-04 15:30:50 +01:00
t-linux Move shlib support to toplevel libgcc 2011-11-02 10:49:46 +00:00
t-openbsd-thread Append to HOST_LIBGCC2_CFLAGS in libgcc 2011-11-07 17:14:32 +00:00
t-rtems Consistently use t-rtems in libgcc 2011-11-07 17:12:33 +00:00
t-slibgcc Update copyright years. 2016-01-04 15:30:50 +01:00
t-slibgcc-darwin Move shlib support to toplevel libgcc 2011-11-02 10:49:46 +00:00
t-slibgcc-elf-ver Move shlib support to toplevel libgcc 2011-11-02 10:49:46 +00:00
t-slibgcc-gld t-slibgcc-darwin: Move to ... 2011-06-01 14:39:17 +00:00
t-slibgcc-gld-nover Move shlib support to toplevel libgcc 2011-11-02 10:49:46 +00:00
t-slibgcc-hpux re PR other/55274 (gcc build hangs on HP-UX 11.11) 2013-04-06 18:22:09 +00:00
t-slibgcc-libgcc Update copyright years. 2016-01-04 15:30:50 +01:00
t-slibgcc-nolc-override Move shlib support to toplevel libgcc 2011-11-02 10:49:46 +00:00
t-slibgcc-sld Don't build libgcc-unwind.map with --disable-shared (PR libgcc/61097) 2014-05-08 12:11:14 +00:00
t-slibgcc-vms Move shlib support to toplevel libgcc 2011-11-02 10:49:46 +00:00
t-softfp Update copyright years. 2016-01-04 15:30:50 +01:00
t-softfp-compat Make soft-fp symbols into compat symbols for powerpc*-*-linux*. 2014-10-30 17:28:30 +00:00
t-softfp-excl soft-fp: Move to ../libgcc. 2011-08-05 15:13:48 +00:00
t-softfp-sfdf soft-fp: Move to ../libgcc. 2011-08-05 15:13:48 +00:00
t-softfp-sfdftf IA MCU psABI support: changes to libraries 2015-06-30 09:42:07 -07:00
t-softfp-tf soft-fp: Move to ../libgcc. 2011-08-05 15:13:48 +00:00
t-stack t-stack (LIB2ADD_ST): Set instead of LIB2ADD. 2010-10-01 19:31:49 +00:00
t-tls
t-vxworks Append to HOST_LIBGCC2_CFLAGS in libgcc 2011-11-07 17:14:32 +00:00
unwind-dw2-fde-darwin.c Update copyright years. 2016-01-04 15:30:50 +01:00
vxlib-tls.c Update copyright years. 2016-01-04 15:30:50 +01:00
vxlib.c Update copyright years. 2016-01-04 15:30:50 +01:00