Go to file
David S. Miller c4728c6b20 Add sparc VIS 2.0 builtins, intrinsics, and option to control them.
gcc/

	* config/sparc/sparc.opt (VIS2): New option.
	* doc/invoke.texi: Document it.
	* config/sparc/sparc.md (UNSPEC_EDGE8N, UNSPEC_EDGE8LN,
	UNSPEC_EDGE16N, UNSPEC_EDGE16LN, UNSPEC_EDGE32N,
	UNSPEC_EDGE32LN, UNSPEC_BSHUFFLE): New unspecs.
	(define_attr type): New insn type 'edgen'.
	(bmask<P:mode>_vis, bshuffle<V64I:mode>_vis, edge8n<P:mode>_vis,
	edge8ln<P:mode>_vis, edge16n<P:mode>_vis, edge16ln<P:mode>_vis,
	edge32n<P:mode>_vis, edge32ln<P:mode>_vis): New insn VIS 2.0
	patterns.
	* niagara.md: Handle edgen.
	* niagara2.md: Likewise.
	* ultra1_2.md: Likewise.
	* ultra3.md: Likewise.
	* config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__
	to 0x200 when TARGET_VIS2.
	* config/sparc/sparc.c (sparc_option_override): Set MASK_VIS2 by
	default when targetting capable cpus.  TARGET_VIS2 implies
	TARGET_VIS, clear and it when TARGET_FPU is disabled.
	(sparc_vis_init_builtins): Emit new VIS 2.0 builtins.
	(sparc_expand_builtin): Fix predicate indexing when builtin returns
	void.
	(sparc_fold_builtin): Do not eliminate bmask when result is ignored.
	* config/sparc/visintrin.h (__vis_bmask, __vis_bshuffledi,
	__vis_bshufflev2si, __vis_bshufflev4hi, __vis_bshufflev8qi,
	__vis_edge8n, __vis_edge8ln, __vis_edge16n, __vis_edge16ln,
	__vis_edge32n, __vis_edge32ln): New VIS 2.0 interfaces.
	* doc/extend.texi: Document new VIS 2.0 builtins.

gcc/testsuite/

	* gcc.target/sparc/bmaskbshuf.c: New test.
	* gcc.target/sparc/edgen.c: New test.

From-SVN: r179376
2011-09-30 00:54:07 -07:00
boehm-gc
config
contrib testsuite-management: New. 2011-09-13 16:24:47 -04:00
fixincludes 2011-09-26 Tristan Gingold <gingold@adacore.com> 2011-09-26 12:12:51 +00:00
gcc Add sparc VIS 2.0 builtins, intrinsics, and option to control them. 2011-09-30 00:54:07 -07:00
gnattools
include timeval-utils.h: New file. 2011-09-28 19:09:50 +00:00
INSTALL
intl
libada
libcpp
libdecnumber
libffi re PR libffi/49594 (bootstrap failure in libffi:darwin_closure for powerpc-darwin8) 2011-09-04 19:19:39 +00:00
libgcc rx-lib.h: Always restrict doubles to the SF type when 64-bit doubles are not enabled. 2011-09-28 13:56:19 +00:00
libgfortran re PR fortran/49479 (reshape / optionals / zero sized arrays) 2011-09-10 14:06:57 +00:00
libgo mksysinfo: #include <ttold.h> on Irix. 2011-09-28 13:14:11 +00:00
libgomp
libiberty timeval-utils.h: New file. 2011-09-28 19:09:50 +00:00
libjava The commands of the $(TOOLS_ZIP) rule include copying of two subtrees from the source tree (asm/ and classes/). 2011-09-29 11:37:47 +00:00
libmudflap
libobjc
libquadmath Makefile.am (FLAGS_TO_PASS): Define. 2011-09-21 15:36:03 +01:00
libssp
libstdc++-v3 hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Remove noexcept from declaration too. 2011-09-29 17:26:32 +00:00
lto-plugin
maintainer-scripts
zlib
ABOUT-NLS
ChangeLog * MAINTAINERS (sparc port): Remove myself. 2011-09-21 08:13:33 +02:00
ChangeLog.tree-ssa
compile
config-ml.in
config.guess
config.rpath
config.sub
configure
configure.ac
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
COPYING.RUNTIME
depcomp
install-sh
libtool-ldflags
libtool.m4
lt~obsolete.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
MAINTAINERS * MAINTAINERS (sparc port): Remove myself. 2011-09-21 08:13:33 +02:00
Makefile.def
Makefile.in
Makefile.tpl
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.