Go to file
Jan Hubicka 8c99651385 expr.c (emit_block_move_via_libcall): Export.
* expr.c (emit_block_move_via_libcall): Export.
	(clear_storage_via_libcall): Rename to ...
	(set_storage_via_libcall): ... this one; handle arbitrary value to set.
	(clear_storage): Update to set_storage_via_libcall.
	* expr.h (emit_block_move_via_libcall): Declare
	* config/i386/i386.h (stringop_alg): New enum.
	(MAX_STRINGOP_ALGS): New constant.
	(stringop_algs): New struct.
	(processor_costs): Add memcpy/memset descriptors.
	(TARGET_REP_MOVEL_OPTIMAL): Remove.
	* config/i386/i386.md (movsi_insv_1_rex64): New pattern.
	(strmovsi, strmovdi, strsetsi, strsetdi): Update; accept all operands
	for memset.
	* config/i386/i386.opt (minline-stringops-dynamically,
	mstringop-strategy): New
	parameters.
	* config/i386/i386-prostos.h (ix86_expand_movmem): Update prototype.
	(ix86_expand-clrmem): Rename to ...
	(ix86_expand_setmem): ... this one; update prototype.
	* config/i386/i386.c (DUMMY_STRINGOP_ALGS): New constant.
	(size_cost, i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
	geode_cost, k6_cost, athlon_cost, k8_cost, pentium4_cost,
	nocona_cost, core2_cost, generic_cost, generic64_cost,
	generic32_cost): Add memcpy/memset descriptors.
	(x86_rep_movl_optimal): Remove.
	(stringop_alg): New static variable.
	(ix86_expand_aligntest): Handle predictions.
	(override_options): Add strgop_alg handling.
	(predict_jump): New function.
	(scale_counter): New function.
	(expand_set_or_movmem_via_loop): New function.
	(expand_movmem_via_rep_mov): New function.
	(expand_setmem_via_rep_stots): New function.
	(emit_strmov): New function.
	(expand_movmem_epilogue): New function.
	(expand_setmem_epilogue_via_loop): New function.
	(expand_setmem_epilogue): New function.
	(expand_movmem_prologue): New function.
	(expand_setmem_prologue): New function.
	(decide_alg): New function.
	(decide_alignment): New function.
	(ix86_exand_movmem): Rewrite.
	(promote_duplicated_reg): New function.
	(ix86_expand_clrmem): Rename to ...
	(ix86_expand_setmem): ... this one. Rewrite.

	* invoke.texi (minline-stringops-dynamically): New command line option.
	(mstringop-strategy): Likewise.

From-SVN: r119252
2006-11-27 16:00:26 +00:00
boehm-gc re PR boehm-gc/29180 (boehm-gc/darwin_stop_world.c not 64-bit clean) 2006-09-26 17:21:32 +00:00
config * tls.m4 (GCC_CHECK_TLS): Fall back to a link test. 2006-11-13 20:35:20 +00:00
contrib * compareSumTests3: POD syntax fix. 2006-09-28 02:03:46 +00:00
fixincludes inclhack.def (glibc_c99_inline_2): Adjust for glibc 2.3 systems. 2006-11-07 17:34:40 +00:00
gcc expr.c (emit_block_move_via_libcall): Export. 2006-11-27 16:00:26 +00:00
gnattools --(top level)-------------------------------------------- 2006-10-10 16:48:09 -07:00
include Patch to provide pex_run_in_environment. 2006-06-01 10:30:51 +00:00
INSTALL
intl Makefile.in (distclean): Delete config files. 2006-09-27 18:51:52 +09:30
libada re PR ada/29802 (wrong directory in makefile for ada and libada when srcdir=.) 2006-11-17 10:31:47 +00:00
libcpp Formatting fixes. 2006-11-21 13:22:40 +11:00
libdecnumber decLibrary.c (__dec_type_swap): Add prototype. 2006-11-21 20:35:57 +00:00
libffi Fix date on ChangeLog entry 2006-11-01 05:42:01 +00:00
libgfortran Makefile.am: Remove intrinsics/erf.c and intrinsics/bessel.c. 2006-11-25 17:22:53 +00:00
libgomp * tls.m4 (GCC_CHECK_TLS): Fall back to a link test. 2006-11-13 20:35:20 +00:00
libiberty pex-win32.c (no_suffixes): Remove. 2006-11-08 18:16:27 +00:00
libjava Security.java: Merge with classpath. 2006-11-21 16:18:08 +00:00
libmudflap * tls.m4 (GCC_CHECK_TLS): Fall back to a link test. 2006-11-13 20:35:20 +00:00
libobjc In gcc/: PR 23067 2006-11-01 05:28:41 +00:00
libssp Index: config/ChangeLog 2006-10-15 07:42:57 +00:00
libstdc++-v3 PR libstdc++/29385 (2nd part, based on an idea by Ion Gaztanaga) 2006-11-26 10:04:25 +00:00
maintainer-scripts * crontab: Add 4.2 branch. Set trunk to 4.3. 2006-10-21 03:15:08 +00:00
zlib Makefile.am: Add html and install-html stubs. 2006-06-13 21:15:06 +00:00
ABOUT-NLS
ChangeLog Checkin ChangeLogs from previous checkin. 2006-11-27 00:23:24 +00:00
ChangeLog.tree-ssa
compile
config-ml.in config-ml.in: Alter CCASFLAGS to include special multilib options the same as is done for CFLAGS. 2006-06-13 16:48:23 -04:00
config.guess config.guess: Import latest version. 2006-10-16 13:27:17 +10:00
config.rpath
config.sub config.guess: Import latest version. 2006-10-16 13:27:17 +10:00
configure configure.in (--with-mpfr-dir, [...]): Remove flags. 2006-11-26 22:37:33 +00:00
configure.in configure.in (--with-mpfr-dir, [...]): Remove flags. 2006-11-26 22:37:33 +00:00
COPYING
COPYING.LIB
depcomp
install-sh
libtool-ldflags
libtool.m4
ltcf-c.sh
ltcf-cxx.sh
ltcf-gcj.sh
ltconfig ltconfig: chmod 644 before ranlib during install. 2006-07-04 20:20:01 +00:00
ltmain.sh Port to hosts whose 'sort' and 'tail' implementations treat operands with leading '+' as file names... 2006-07-06 23:24:51 +00:00
MAINTAINERS MAINTAINERS (Write After Approval): Change my email address. 2006-11-25 11:08:22 -08:00
Makefile.def --(top level)-------------------------------------------- 2006-10-10 16:48:09 -07:00
Makefile.in re PR ada/29802 (wrong directory in makefile for ada and libada when srcdir=.) 2006-11-17 10:31:47 +00:00
Makefile.tpl re PR ada/29802 (wrong directory in makefile for ada and libada when srcdir=.) 2006-11-17 10:31:47 +00:00
missing
mkdep
mkinstalldirs
move-if-change
README
README.SCO
symlink-tree
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the file 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.html for how to report bugs usefully.