Go to file
Michael Meissner 06b39289a2 extend.texi (PowerPC Built-in Functions): Document new powerpc extended divide, bcd, pack/unpack 128-bit, builtin functions.
[gcc]
2014-04-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* doc/extend.texi (PowerPC Built-in Functions): Document new
	powerpc extended divide, bcd, pack/unpack 128-bit, builtin
	functions.
	(PowerPC AltiVec/VSX Built-in Functions): Likewise.

	* config/rs6000/predicates.md (const_0_to_3_operand): New
	predicate to match 0..3 integer constants.

	* config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
	to support adding miscellaneous builtin functions.
	(BU_DFP_MISC_2): Likewise.
	(BU_P7_MISC_1): Likewise.
	(BU_P7_MISC_2): Likewise.
	(BU_P8V_MISC_3): Likewise.
	(BU_MISC_1): Likewise.
	(BU_MISC_2): Likewise.
	(DIVWE): Add extended divide builtin functions.
	(DIVWEO): Likewise.
	(DIVWEU): Likewise.
	(DIVWEUO): Likewise.
	(DIVDE): Likewise.
	(DIVDEO): Likewise.
	(DIVDEU): Likewise.
	(DIVDEUO): Likewise.
	(DXEX): Add decimal floating-point builtin functions.
	(DXEXQ): Likewise.
	(DDEDPD): Likewise.
	(DDEDPDQ): Likewise.
	(DENBCD): Likewise.
	(DENBCDQ): Likewise.
	(DIEX): Likewise.
	(DIEXQ): Likewise.
	(DSCLI): Likewise.
	(DSCLIQ): Likewise.
	(DSCRI): Likewise.
	(DSCRIQ): Likewise.
	(CDTBCD): Add new BCD builtin functions.
	(CBCDTD): Likewise.
	(ADDG6S): Likewise.
	(BCDADD): Likewise.
	(BCDADD_LT): Likewise.
	(BCDADD_EQ): Likewise.
	(BCDADD_GT): Likewise.
	(BCDADD_OV): Likewise.
	(BCDSUB): Likewise.
	(BCDSUB_LT): Likewise.
	(BCDSUB_EQ): Likewise.
	(BCDSUB_GT): Likewise.
	(BCDSUB_OV): Likewise.
	(PACK_TD): Add new pack/unpack 128-bit type builtin functions.
	(UNPACK_TD): Likewise.
	(PACK_TF): Likewise.
	(UNPACK_TF): Likewise.
	(UNPACK_TF_0): Likewise.
	(UNPACK_TF_1): Likewise.
	(PACK_V1TI): Likewise.
	(UNPACK_V1TI): Likewise.

	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
	support for decimal floating point builtin functions.
	(rs6000_expand_ternop_builtin): Add checks for the new builtin
	functions that take constant arguments.
	(rs6000_invalid_builtin): Add decimal floating point builtin
	support.
	(rs6000_init_builtins): Setup long double, _Decimal64, and
	_Decimal128 types for new builtin functions.
	(builtin_function_type): Set the unsigned flags appropriately for
	the new builtin functions.
	(rs6000_opt_masks): Add support for decimal floating point builtin
	functions.

	* config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
	floating point builtin functions.
	(RS6000_BTM_COMMON): Likewise.
	(RS6000_BTI_long_double): Likewise.
	(RS6000_BTI_dfloat64): Likewise.
	(RS6000_BTI_dfloat128): Likewise.
	(long_double_type_internal_node): Likewise.
	(dfloat64_type_internal_node): Likewise.
	(dfloat128_type_internal_node): Likewise.

	* config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
	2.07 bcd arithmetic instructions.
	(UNSPEC_BCDSUB): Likewise.
	(UNSPEC_BCD_OVERFLOW): Likewise.
	(UNSPEC_BCD_ADD_SUB): Likewise.
	(bcd_add_sub): Likewise.
	(BCD_TEST): Likewise.
	(bcd<bcd_add_sub>): Likewise.
	(bcd<bcd_add_sub>_test): Likewise.
	(bcd<bcd_add_sub>_test2): Likewise.
	(bcd<bcd_add_sub>_<code>): Likewise.
	(peephole2 for combined bcd ops): Likewise.

	* config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
	decimal floating point builtin functions.
	(UNSPEC_DENBCD): Likewise.
	(UNSPEC_DXEX): Likewise.
	(UNSPEC_DIEX): Likewise.
	(UNSPEC_DSCLI): Likewise.
	(UNSPEC_DSCRI): Likewise.
	(D64_D128): Likewise.
	(dfp_suffix): Likewise.
	(dfp_ddedpd_<mode>): Likewise.
	(dfp_denbcd_<mode>): Likewise.
	(dfp_dxex_<mode>): Likewise.
	(dfp_diex_<mode>): Likewise.
	(dfp_dscli_<mode>): Likewise.
	(dfp_dscri_<mode>): Likewise.

	* config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
	builtin functions.
	(UNSPEC_CDTBCD): Likewise.
	(UNSPEC_CBCDTD): Likewise.
	(UNSPEC_DIVE): Add support for new extended divide builtin
	functions.
	(UNSPEC_DIVEO): Likewise.
	(UNSPEC_DIVEU): Likewise.
	(UNSPEC_DIVEUO): Likewise.
	(UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
	pack/unpack 128-bit types.
	(UNSPEC_PACK_128BIT): Likewise.
	(idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
	(udiv<mode>3): Use idiv_ldiv mode attribute.
	(div<mode>3): Likewise.
	(addg6s): Add new BCD builtin functions.
	(cdtbcd): Likewise.
	(cbcdtd): Likewise.
	(UNSPEC_DIV_EXTEND): Add support for new extended divide
	instructions.
	(div_extend): Likewise.
	(div<div_extend>_<mode>"): Likewise.
	(FP128_64): Add support for new builtin functions to pack/unpack
	128-bit types.
	(unpack<mode>): Likewise.
	(unpacktf_0): Likewise.
	(unpacktf_1): Likewise.
	(unpack<mode>_dm): Likewise.
	(unpack<mode>_nodm): Likewise.
	(pack<mode>): Likewise.
	(unpackv1ti): Likewise.
	(packv1ti): Likewise.

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

	* gcc.target/powerpc/pack01.c: New test to test the new pack and
	unpack builtin functionss for 128-bit types.
	* gcc.target/powerpc/pack02.c: Likewise.
	* gcc.target/powerpc/pack03.c: Likewise.
	* gcc.target/powerpc/extend-divide-1.c: New test to test extended
	divide builtin functionss.
	* gcc.target/powerpc/extend-divide-2.c: Likewise.
	* gcc.target/powerpc/bcd-1.c: New test for the new BCD builtin
	functions.
	* gcc.target/powerpc/bcd-2.c: Likewise.
	* gcc.target/powerpc/bcd-3.c: Likewise.
	* gcc.target/powerpc/dfp-builtin-1.c: New test for the new DFP
	builtin functionss.
	* gcc.target/powerpc/dfp-builtin-2.c: Likewise.

From-SVN: r209768
2014-04-24 22:42:25 +00:00
boehm-gc tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define. 2014-04-24 23:17:32 +02:00
config bootstrap-ubsan.mk (POSTSTAGE1_LDFLAGS): Remove -lpthread -ldl. 2013-11-29 20:13:45 +00:00
contrib Remove obsolete Solaris 9 support 2014-04-22 12:30:59 +00:00
fixincludes Remove obsolete Solaris 9 support 2014-04-22 12:30:59 +00:00
gcc extend.texi (PowerPC Built-in Functions): Document new powerpc extended divide, bcd, pack/unpack 128-bit, builtin functions. 2014-04-24 22:42:25 +00:00
gnattools Makefile.in (TOOLS_FLAGS_TO_PASS_CROSS): Robustify. 2014-02-23 16:30:11 +00:00
include Merge longlong.h from glibc tree. 2014-04-22 16:31:45 +00:00
INSTALL
intl
libada Update copyright years in libada/ 2014-01-02 22:24:25 +00:00
libatomic re PR c++/60272 (atomic<>::compare_exchange_weak has spurious store and can cause race conditions) 2014-02-20 09:43:53 -08:00
libbacktrace * sort.c (backtrace_qsort): Use middle element as pivot. 2014-03-07 15:52:48 +00:00
libcilkrts re PR bootstrap/60644 (Build of i686-pc-linux-android is broken) 2014-04-11 12:56:42 -07:00
libcpp Remove obsolete Solaris 9 support 2014-04-22 12:30:59 +00:00
libdecnumber re PR c/59871 (No unused value warning for comma expression) 2014-01-23 19:04:29 +00:00
libffi tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define. 2014-04-24 23:17:32 +02:00
libgcc Remove obsolete Solaris 9 support 2014-04-22 12:30:59 +00:00
libgfortran Fix warning in libgfortran configure script 2014-04-24 11:03:56 +00:00
libgo gofrontend: deduplicate C syscall function declarations 2014-04-17 23:39:23 +00:00
libgomp c-parser.c (c_parser_omp_atomic): Allow seq_cst before atomic-clause... 2014-04-24 23:20:28 +02:00
libiberty re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan)) 2014-04-17 14:25:25 +02:00
libitm Check if GCC uses assembler cfi support 2014-04-09 14:49:59 +00:00
libjava Remove obsolete Solaris 9 support 2014-04-22 12:30:59 +00:00
libobjc Update copyright years in libobjc/ 2014-01-02 22:26:09 +00:00
libquadmath gnat_ugn.texi: Bump @copying's copyright year. 2014-01-02 22:25:41 +01:00
libsanitizer Handle backtrace_qsort 2014-03-07 13:55:54 +00:00
libssp * ssp.c (fail): Avoid -Wformat-security warning. 2013-12-07 09:10:02 +01:00
libstdc++-v3 regex_automaton.tcc (_StateSeq<>::_M_clone()): Do _M_alt before _M_next. 2014-04-24 18:29:21 +00:00
libvtv Fix up ChangeLog entries (name, e-mail, formatting, otherwise). 2013-10-23 21:30:54 +00:00
lto-plugin re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan)) 2014-04-17 14:25:25 +02:00
maintainer-scripts * crontab: Enable snapshots from gcc-4_9-branch. 2014-04-11 14:55:17 +02:00
zlib Add --enable-host-shared configuration option 2013-10-15 20:33:55 +00:00
.dir-locals.el * .dir-locals.el: Add. 2013-10-16 18:25:31 +00:00
.gitignore
ABOUT-NLS
ChangeLog MAINTAINERS: Move myself from Reviewers to Write After Approval section. 2014-04-24 03:45:14 +00:00
ChangeLog.tree-ssa
compile
config-ml.in
config.guess Import from savannah.gnu.org: 2013-10-01 17:50:56 +01:00
config.rpath
config.sub Import from savannah.gnu.org: 2013-10-01 17:50:56 +01:00
configure re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan)) 2014-03-26 10:19:44 +01:00
configure.ac re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan)) 2014-03-26 10:19:44 +01:00
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
COPYING.RUNTIME
depcomp
install-sh
libtool-ldflags re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan)) 2014-04-17 14:23:28 +02:00
libtool.m4
lt~obsolete.m4
ltgcc.m4
ltmain.sh Ensure libgcc_s unwinder is always used on 64-bit Solaris 10+/x86 (PR target/59788) 2014-02-04 09:31:38 +00:00
ltoptions.m4
ltsugar.m4
ltversion.m4
MAINTAINERS add recored to gcc/testsuite/ChangeLog for PR c++/57958 2014-04-24 22:51:29 +04:00
Makefile.def re PR bootstrap/60620 (missing gnattools dependency causes highly parallel build failure with --disable-bootstrap) 2014-04-04 20:53:48 +00:00
Makefile.in re PR bootstrap/60620 (missing gnattools dependency causes highly parallel build failure with --disable-bootstrap) 2014-04-04 20:53:48 +00:00
Makefile.tpl re PR bootstrap/58572 (make bootstrap-lean leads to installation failure (doing extra rebuilds and invoking system compiler)) 2014-03-07 13:58:27 +01: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.