GCC modified for the FreeChainXenon project
Find a file
David S. Miller bb12a72a48 Add support for sparc VIS3 fp<-->int moves.
* config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): We can move
	between float and non-float regs when VIS3.
	* config/sparc/sparc.c (eligible_for_restore_insn): We can't
	use a restore when the source is a float register.
	(sparc_split_regreg_legitimate): When VIS3 allow moves between
	float and integer regs.
	(sparc_register_move_cost): Adjust to account for VIS3 moves.
	(sparc_preferred_reload_class): On 32-bit with VIS3 when moving an
	integer reg to a class containing EXTRA_FP_REGS, constrain to
	FP_REGS.
	(sparc_secondary_reload): On 32-bit with VIS3 when moving between
	float and integer regs we sometimes need a FP_REGS class
	intermediate move to satisfy the reload.  When this happens
	specify an extra cost of 2.
	(*movsi_insn): Rename to have "_novis3" suffix and add !VIS3
	guard.
	(*movdi_insn_sp32_v9): Likewise.
	(*movdi_insn_sp64): Likewise.
	(*movsf_insn): Likewise.
	(*movdf_insn_sp32_v9): Likewise.
	(*movdf_insn_sp64): Likewise.
	(*zero_extendsidi2_insn_sp64): Likewise.
	(*sign_extendsidi2_insn): Likewise.
	(*movsi_insn_vis3): New insn.
	(*movdi_insn_sp32_v9_vis3): New insn.
	(*movdi_insn_sp64_vis3): New insn.
	(*movsf_insn_vis3): New insn.
	(*movdf_insn_sp32_v9_vis3): New insn.
	(*movdf_insn_sp64_vis3): New insn.
	(*zero_extendsidi2_insn_sp64_vis3): New insn.
	(*sign_extendsidi2_insn_vis3): New insn.
	(TFmode reg/reg split): Make sure both REG operands are float.
	(*mov<VM32:mode>_insn): Add "_novis3" suffix and !VIS3 guard. Remove
	easy constant to integer reg alternatives.
	(*mov<VM64:mode>_insn_sp64): Likewise.
	(*mov<VM64:mode>_insn_sp32_novis3): Likewise.
	(*mov<VM32:mode>_insn_vis3): New insn.
	(*mov<VM64:mode>_insn_sp64_vis3): New insn.
	(*mov<VM64:mode>_insn_sp32_vis3): New insn.
	(VM64 reg<-->reg split): New spliiter for 32-bit.

From-SVN: r180360
2011-10-23 20:51:47 -07:00
boehm-gc
config
contrib
fixincludes 2011-09-26 Tristan Gingold <gingold@adacore.com> 2011-09-26 12:12:51 +00:00
gcc Add support for sparc VIS3 fp<-->int moves. 2011-10-23 20:51:47 -07:00
gnattools Makefile.in (LOOSE_WARN): Delete. 2011-10-12 22:41:57 +00:00
include obstack.h [!GNUC] (obstack_free): Avoid cast to int. 2011-10-21 21:35:29 -04:00
INSTALL
intl
libada Makefile.in (LOOSE_WARN): Delete. 2011-10-12 22:41:57 +00:00
libcpp Fix cpp_peek_token behaviour (PR bootstrap/50778) 2011-10-22 19:49:18 +02:00
libdecnumber
libffi
libgcc * unwind-arm-common.inc: Handle ID3/4 unwinding data. 2011-10-21 21:00:11 +00:00
libgfortran
libgo Implement new syscall package. 2011-10-23 19:04:37 +00:00
libgomp posix95: Remove empty directory. 2011-10-10 19:27:31 +00:00
libiberty re PR c++/48665 (type of const member function) 2011-10-10 20:34:20 +00:00
libjava exception.cc (parse_lsda_header): hardcode ttype_encoding for older ARM EABI toolchains. 2011-10-20 13:56:12 +00:00
libmudflap
libobjc exception.c (parse_lsda_header): hardcode ttype_encoding for older ARM EABI toolchains. 2011-10-20 13:57:21 +00:00
libquadmath
libssp
libstdc++-v3 re PR libstdc++/50834 (Documentation about STL thread safety is ambiguous) 2011-10-24 01:19:56 +01:00
lto-plugin re PR lto/47247 (Linker plugin specification makes it difficult to handle COMDATs) 2011-10-02 10:41:24 +00:00
maintainer-scripts
zlib
ABOUT-NLS
ChangeLog
ChangeLog.tree-ssa
compile
config-ml.in
config.guess
config.rpath
config.sub
configure
configure.ac
COPYING
COPYING.LIB
COPYING.RUNTIME
COPYING3
COPYING3.LIB
depcomp
install-sh
libtool-ldflags
libtool.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
MAINTAINERS
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.