Go to file
Michael Meissner a71c0334f7 float128-sed: New files to convert TF names to KF names for PowerPC IEEE 128-bit floating...
2016-01-21  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/float128-sed: New files to convert TF names to KF
	names for PowerPC IEEE 128-bit floating point support.
	* config/rs6000/float128-sed-hw: Likewise.

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

	* 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/extendkftf2-sw.c: New file, convert IEEE 128-bit
	floating point to IBM extended double.

	* config/rs6000/trunctfkf2-sw.c: New file, convert IBM extended
	double to 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/sfp-exceptions.c: New file to provide exception
	support for IEEE 128-bit floating point.

	* config/rs6000/floattikf.c: New files for converting between IEEE
	128-bit floating point and signed/unsigned 128-bit integers.
	* config/rs6000/fixunskfti.c: Likewise.
	* config/rs6000/fixkfti.c: Likewise.
	* config/rs6000/floatuntikf.c: Likewise.

	* 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.

	* libgcc/config.host (powerpc*-*-linux*): If compiler can compile
	VSX code, enable IEEE 128-bit floating point.  If the compiler can
	compile IEEE 128-bit floating point code with ISA 3.0 IEEE 128-bit
	floating point hardware instructions and it supports declaring
	functions with the ifunc attribute, enable ifunc functions to
	switch between software and hardware support.
	* configure.ac (powerpc*-*-linux*): Likewise.
	* configure: Regenerate.



Co-Authored-By: Steven Munroe <munroesj@linux.vnet.ibm.com>
Co-Authored-By: Tulio Magno Quites Machado Filho <tulioqm@br.ibm.com>

From-SVN: r232685
2016-01-21 17:52:33 +00:00
boehm-gc
config replace ISL with isl 2015-12-17 18:50:05 +00:00
contrib * uninclude: Fix third argument to gensub. 2016-01-19 22:00:17 +00:00
fixincludes
gcc re PR target/63354 (gcc -pg -mprofile-kernel creates unused stack frames on leaf functions on ppc64le) 2016-01-21 17:32:28 +00:00
gnattools
gotools
include Merge of HSA 2016-01-19 11:35:10 +01:00
INSTALL
intl
libada Update copyright years. 2016-01-04 15:30:50 +01:00
libatomic Fix libatomic multilib parallel build (PR other/67627) 2016-01-06 14:51:35 +00:00
libbacktrace Update copyright years. 2016-01-04 15:30:50 +01:00
libcc1
libcilkrts
libcpp PR preprocessor/69177 and PR c++/68819: libcpp fallbacks and -Wmisleading-indentation 2016-01-14 19:10:17 +00:00
libdecnumber Update copyright years. 2016-01-04 15:30:50 +01:00
libffi
libgcc float128-sed: New files to convert TF names to KF names for PowerPC IEEE 128-bit floating... 2016-01-21 17:52:33 +00:00
libgfortran execute_command_line.c (set_cmdstat): Use "%s", msg instead of msg to avoid -Wformat-security warning. 2016-01-15 21:20:58 +01:00
libgo re PR go/68980 (ps -o cmd in gotest isn't portable) 2016-01-11 17:55:39 +00:00
libgomp task.c (gomp_create_target_task): Set firstprivate_copies to NULL. 2016-01-20 15:01:24 +00:00
libiberty libiberty: {count,dup,write}argv: constify argv input slightly 2016-01-05 20:23:30 +00:00
libitm re PR target/69343 (Bootstrap failure on s390{,x}-linux) 2016-01-20 10:53:56 -08:00
libjava gcc.c (process_command): Update copyright notice dates. 2016-01-04 14:03:35 +01:00
libmpx libtool-version: Remove. 2016-01-21 00:17:37 +00:00
libobjc Update copyright years. 2016-01-04 15:30:50 +01:00
liboffloadmic libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_run): Pass extra NULL to GOMP_OFFLOAD_async_run. 2016-01-20 13:40:22 +00:00
libquadmath gcc.c (process_command): Update copyright notice dates. 2016-01-04 14:03:35 +01:00
libsanitizer re PR sanitizer/68824 (libtsan is missing the __interceptor___tls_get_addr symbol without bumping the soname) 2016-01-19 13:45:54 +01:00
libssp
libstdc++-v3 libstdc++/69406 Fix test to check for supported headers 2016-01-21 13:33:27 +00:00
libvtv
lto-plugin Fix usage of an uninitialized variable 2016-01-15 14:39:11 +00:00
maintainer-scripts
zlib
.dir-locals.el
.gitignore
ABOUT-NLS
ChangeLog Enable LTO for DJGPP 2016-01-12 20:36:00 +02:00
ChangeLog.jit
ChangeLog.tree-ssa
compile
config-ml.in
config.guess config.guess: Import version 2016-01-01. 2016-01-01 08:13:28 +11:00
config.rpath
config.sub config.guess: Import version 2016-01-01. 2016-01-01 08:13:28 +11:00
configure Enable LTO for DJGPP 2016-01-12 20:36:00 +02:00
configure.ac Enable LTO for DJGPP 2016-01-12 20:36:00 +02:00
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
COPYING.RUNTIME Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
depcomp
install-sh
libtool-ldflags
libtool.m4
lt~obsolete.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
MAINTAINERS Add myself to MAINTAINERS (Write After Approval) 2015-12-18 05:14:15 +00:00
Makefile.def re PR bootstrap/69134 (building a mips-cross compiler with in-tree mpfr-2.4.2 fails) 2016-01-12 15:13:02 +00:00
Makefile.in re PR bootstrap/69134 (building a mips-cross compiler with in-tree mpfr-2.4.2 fails) 2016-01-12 15:13:02 +00:00
Makefile.tpl replace ISL with isl 2015-12-17 18:50:05 +00:00
missing
mkdep
mkinstalldirs
move-if-change
README
symlink-tree
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.