Go to file
J"orn Rennecke c49439f112 Scheduling revamp:
* sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
	mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
	accordingly.
	(attribute insn_class): Provide default definitions based on type.
	Remove all insn-specific settings.
	(various function units): Remove old SH4 scheduling.
	(branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
	New attributes.  Set them where appropriate.
	(cpu unit FS): Don't define / use.
	(F3, load_store): New cpu units.
	(F01): New reservation.
	(all insn_reservations): Make dependent on sh4 pipeline model.
	Fix latencies.
	(nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
	(sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
	(mt insn_reservation): Use type mt_group.
	(insn_reservation load_store): Split into sh4_load, sh4_load_si,
	sh4_fload and sh4_store.
	(insn_reservation branch_zero and branch): Replace with sh4_branch.
	(insn_reservation branch_far): Replace with sh4_return.
	(insn_reservation return_from_exp): Rename to:
	(sh4_return_from_exp).  Change to be just d_lock*5.
	(insn_reservation lds_to_pr): Rename to:
	(sh4_lds_to_pr).  Change to be just d_lock*2.
	(insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
	d_lock*2.
	(insn_reservation prload_mem): Rename to:
	(sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
	(insn_reservation fpscr_store): Rename to:
	(fpscr_load).  Change to d_lock,nothing,F1*3.
	(insn_reservation fpscr_store_mem): Rename to:
	(fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
	(insn_reservation multi): Change to
	d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
	(insn_reservation fp_arith): Change to issue,F01,F2.
	(insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
	(insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
	(insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
	(insn_reservation fp_double_cmp): Change to
	d_lock,(d_lock+F01),F1+F2,F2.
	(insn_reservation dp_div): Change to
	issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
	* sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
	(sh_adjust_cost, SHcompact): Differentiate between different
	kinds of dependencies.  Drop factor of ten for superscalar.
	Use new instruction types.  Add new exception rules.

Two small bug fixes:
	* sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.

	* sh.md (mperm_w): Add DONE.

From-SVN: r56601
2002-08-27 16:31:02 +01:00
boehm-gc configure, configure: Rebuilt. 2002-08-14 02:40:00 +00:00
config Makefile.in: Allow for PWDCMD to override hardcoded pwd. 2002-05-16 17:43:21 +00:00
contrib * gennews (files): Add GCC 3.2 files. 2002-08-14 08:35:37 +00:00
fastjar configure.in: Support cross-compiling. 2002-06-03 17:59:29 +00:00
gcc Scheduling revamp: 2002-08-27 16:31:02 +01:00
include demangle.h: #include "ansidecl.h" rather than #include <ansidecl.h>. 2002-06-25 09:44:15 +09:30
INSTALL README: Update wrt. 2001-06-13 14:51:33 +00:00
libf2c Daily bump. 2002-08-27 07:17:16 +00:00
libffi configure, configure: Rebuilt. 2002-08-14 02:40:00 +00:00
libiberty * libiberty/configure: Reverted unintended yesterday's check in. 2002-08-15 21:24:00 +00:00
libjava win32.h (getcwd): copied function declaration as temporary fix for header confusion. 2002-08-26 05:29:59 +00:00
libobjc configure, configure: Rebuilt. 2002-08-14 02:40:00 +00:00
libstdc++-v3 Daily bump. 2002-08-27 07:17:16 +00:00
maintainer-scripts gcc_release: Update comment. 2002-07-29 07:31:34 +02:00
zlib configure, configure: Rebuilt. 2002-08-14 02:40:00 +00:00
.cvsignore configure, .cvsignore: Revert previous change... 2002-06-19 18:10:09 +00:00
ChangeLog * MAINTAINERS: Change my mailing address. 2002-08-24 22:30:51 +00:00
config-ml.in config-ml.in doesn't need to worry about cygnus configure 2002-07-01 19:59:22 +00:00
config.guess config.sub: Import from master repository. 2002-08-20 21:53:28 +00:00
config.if config.if (libstdcxx_incdir): Version C++ headers. 2002-06-27 10:19:53 +00:00
config.sub config.sub: Import from master repository. 2002-08-20 21:53:28 +00:00
configure configure, .cvsignore: Revert previous change... 2002-06-19 18:10:09 +00:00
configure.in Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER. 2002-08-19 20:38:15 +00:00
COPYING COPYING: Update to current ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes... 2000-12-18 21:47:20 +00:00
COPYING.LIB COPYING.LIB: Update to LGPL 2.1 from the FSF. 2001-01-29 13:32:47 +00:00
install-sh * install-sh: Use _inst.$$_ for temp file name. 2002-01-25 18:42:28 -05:00
libtool.m4 configure, configure: Rebuilt. 2002-08-14 02:40:00 +00:00
ltcf-c.sh configure, configure: Rebuilt. 2002-08-14 02:40:00 +00:00
ltcf-cxx.sh * ltcf-cxx.sh (hpux*): Modify to support ia64-*-hpux*. 2002-07-04 22:52:03 +00:00
ltcf-gcj.sh backport: ltcf-c.sh: Use $objext, not $ac_objext. 2001-09-01 00:47:19 +00:00
ltconfig configure, configure: Rebuilt. 2002-08-14 02:40:00 +00:00
ltmain.sh ltmain.sh: Detect and handle object name conflicts while piecewise linking a static library. 2002-05-06 21:26:49 +00:00
MAINTAINERS * MAINTAINERS: Change my mailing address. 2002-08-24 22:30:51 +00:00
Makefile.in Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER. 2002-08-19 20:38:15 +00:00
missing merge with /cvs/src 2000-07-22 04:08:22 -04:00
mkdep merge with /cvs/src 2000-07-22 04:08:22 -04:00
mkinstalldirs
move-if-change FSF address fix in copyright header. 1999-01-11 07:12:18 -07:00
README * README: Remove version number. 2001-06-13 19:48:09 +01:00
symlink-tree Makefile.in: handle DOS-style absolute paths. 2000-12-09 11:06:19 -05:00
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.