Go to file
Nick Clifton 5a9335ef01 config.gcc: Add an extra_header for ARM targets.
* config.gcc: Add an extra_header for ARM targets.
        Support configuring with --with-cpu=iwmmxt.
	* doc/invoke.texi: Document new value for -mcpu= ARM switch.
        * config/arm/aof.h (REGISTER_NAMES): Add iwmmxt register
	names.  Fix formatting.
        * config/arm/aout.h (REGISTER_NAMES): Add iwmmxt register
	names.
        * config/arm/arm-protos.h (arm_emit_vector_const): New
	prototype.
	(arm_output_load_gr): New prototype.
	* config/arm/arm.c (extra_reg_names1): Delete.
        (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN, FL_IWMMXT,
	* arch_is_iwmmxt): Define.
	(all_cores, all_architecture): Add entry for iwmmxt.
	(arm_override_options): Add support for iwmmxt.
	(use_return_insn, arm_function_arg, arm_legitimate_index_p,
	arm_print_value, arm_rtx_costs_1, output_move_double,
	arm_compute_save_reg_mask, arm_output_epilogue,
	arm_get_frame_size, arm_expand_prologue, arm_print_operand,
	arm_assemble_integer, arm_hard_regno_ok, arm_regno_class):
	Likewise.
	(arm_init_cumulative_args): Count iwmmxt registers.
	(arm_function_ok_for_sibcall): Return false of sibcall_blocked
	has been set.
	(struct minipool_node): Add fix_size field.
	(add_minipool_forward_ref): Add support for 8-byte aligning of
	the pool.
	(add_minipool_backward_ref, add_minipool_offsets,
	dump_minipool, push_minipool_fix): Likewise.
	(struct builtin_description): New struct.
        (builtin_description): New array of iwmmxt builtin functions.
        (arm_init_iwmmxt_builtins): New function.
        (arm_init_builtins): New function.
        (safe_vector_operand): New function.
        (arm_expand_binop_builtin): New function.
        (arm_expand_unop_builtin): New function.
        (arm_expand_builtin): New function.
        (arm_emit_vector_const): New function.
        (arm_output_load_gr): New function.
        * config/arm/arm.h (TARGET_CPU_iwmmxt, TARGET_IWMMXT,
	TARGET_REALLY_IWMMXT, arm_arch_iwmmxt, IWMMXT_ALIGNMENT,
	TYPE_NEEDS_IWMMXT_ALIGNMENT, ADJUST_FIELD_ALIGN,
	DATA_ALIGNMENT, LOCAL_ALIGNMENT, VECTOR_MODE_SUPPORTED_P): Define.
        (BIGGEST_ALIGNMENT): Set to 64 if ATPCS support is enabled.
        (CPP_CPU_ARCH_SPEC): Add entries for iwmmxt.
        (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
	reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
	REG_CLASS_FOR_LETTER): Add iwmmxt registers.
        (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Disable iwmmxt
	registers unless the iwmmxt target is selected.
        (FIRST_IWMMXT_GR_REGNUM, LAST_IWMMXT_GR_REGNUM,
	FIRST_IWMMXT_REGNUM, LAST_IWMMXT_REGNUM, IS_IWMMXT_REGNUM,
	IS_IWMMXT_GR_REGNUM): Define.
        (FIRST_PSEUDO_REGISTER): Bump to 63.
        (struct machine_function): Add sibcall_blocked field.
        (Struct CUMULATIVE_ARGS): Add iwmmxt_nregs, named_count and
	nargs fields.
        (enum arm_builtins): New enum list.
        * config/arm/arm.md (UNSPEC_WSHUFH, UNSPEC_WACC,
	UNSPEC_TMOVMSK, UNSPEC_WSAD, UNSPEC_WSADZ, UNSPEC_WMACS,
	UNSPEC_WMACU, UNSPEC_WMACSZ, UNSPEC_WMACUZ, UNSPEC_CLRDI,
	UNSPEC_WMADDS, UNSPEC_WMADDU): New unspecs.
	(VUNSPEC_TMRC, VUNSPEC_TMCR, VUNSPEC_ALIGN8, VUNSPEC_WCMP_EQ,
	VUNSPEC_WCMP_GTU, VUNSPEC_WCMP_GT): New vunspecs.
        (movv2si, movv4hi, movv8qi): New expands for vector moves.
        Include iwmmxt.md.
	* config/arm/t-xscale-elf (MULTILIB_OPITONS): Add iwmmxt
	multilib.
        (MULTILIB_DIRNAMES, MULTILIB_REDUNDANT_DIRS): Likewise.
        * config/arm/mmintrin.h: New ARM specific header file.
        * config/arm/iwmmx.md: New iWMMXt specific machine patterns.

From-SVN: r68157
2003-06-18 16:36:13 +00:00
INSTALL README: Update wrt. 2001-06-13 14:51:33 +00:00
boehm-gc configure.in: define GC_DLL under mingw if --enable-shared 2003-04-28 20:54:37 +00:00
config * acinclude.m4: Accept i[3456789]86 for machine type. 2003-05-19 14:09:59 -04:00
contrib * paranoia.cc: Fix spelling error. 2003-06-13 13:57:27 +00:00
fastjar re PR fastjar/9532 (jar -C flag is incompatible with Sun's (fastjar uses nonportable feature of getcwd)) 2003-06-15 20:25:44 +00:00
gcc config.gcc: Add an extra_header for ARM targets. 2003-06-18 16:36:13 +00:00
include alloc-pool.c: Don't check HAVE_LONG_DOUBLE. 2003-06-17 14:10:01 +00:00
libf2c bes.c, dbes.c: Remove. 2003-06-15 04:43:18 +00:00
libffi sysv.S: Avoid gas-only .uleb128/.sleb128 directives. 2003-06-13 11:59:53 +00:00
libiberty re PR bootstrap/10974 (Bootstrap failure) 2003-06-09 05:20:02 +00:00
libjava Oops, accidentally committed the 3.3 version to mainline. Undone. 2003-06-18 15:29:12 +00:00
libobjc hash.c, [...]: Replace "GNU CC" with "GCC". 2003-05-23 20:25:39 +00:00
libstdc++-v3 Makefile.am (new-abi-baseline): Create baseline directory. 2003-06-18 07:09:50 +02:00
maintainer-scripts * gcc_release: Do not update gcc_latest_snapshot tag any longer. 2003-06-18 13:02:24 +00:00
zlib libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on mips*. 2003-04-11 04:20:21 +00:00
.cvsignore configure, .cvsignore: Revert previous change... 2002-06-19 18:10:09 +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
ChangeLog configure.in: Update testsuite_flags to new location. 2003-06-18 01:55:13 +00:00
MAINTAINERS * MAINTAINERS (Write After Approval): Remove Andrew Haley. 2003-06-17 10:00:52 +00:00
Makefile.def Makefile.tpl: Make 'recursive targets' using autogen rather than shell loop. 2003-06-03 20:42:13 +00:00
Makefile.in Makefile.tpl: Remove BUILD_CC stuff. 2003-06-17 21:53:49 +00:00
Makefile.tpl Makefile.tpl: Remove BUILD_CC stuff. 2003-06-17 21:53:49 +00:00
README * README: Remove version number. 2001-06-13 19:48:09 +01:00
config-ml.in config-ml.in: Propagate INSTALL variables. 2003-05-06 20:58:44 +00:00
config.guess config.guess: Update to 2003-06-12 version. 2003-06-14 07:08:09 -07:00
config.if config.if: If gcc_version is already set, just use it. 2003-01-30 11:52:51 +00:00
config.sub config.guess: Update to 2003-06-12 version. 2003-06-14 07:08:09 -07:00
configure configure.in: Update testsuite_flags to new location. 2003-06-18 01:55:13 +00:00
configure.in configure.in: Update testsuite_flags to new location. 2003-06-18 01:55:13 +00:00
install-sh * install-sh: Use _inst.$$_ for temp file name. 2002-01-25 18:42:28 -05:00
libtool.m4 libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on mips*. 2003-04-11 04:20:21 +00:00
ltcf-c.sh Merge basic-improvements-branch to trunk 2002-12-16 18:23:00 +00:00
ltcf-cxx.sh libtool.m4 (LD): Append -melf* option to LD on IRIX with GNU ld. 2003-02-20 01:11:51 +00:00
ltcf-gcj.sh ltcf-cxx.sh: Replace $linker_flags with $compiler_flags wherever it is used as argument to $CC. 2003-02-19 23:50:23 +00:00
ltconfig libtool.m4 (LD): Append -melf* option to LD on IRIX with GNU ld. 2003-02-20 02:09:45 +00:00
ltmain.sh ltconfig (osf[345]): Append $major to soname_spec. 2002-11-20 15:59:07 +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 Initial revision 1997-08-21 18:57:35 -04:00
move-if-change FSF address fix in copyright header. 1999-01-11 07:12:18 -07:00
symlink-tree Makefile.in: handle DOS-style absolute paths. 2000-12-09 11:06:19 -05:00
ylwrap ylwrap: Change absolute path checks to check for DOS style path names. 1998-10-08 17:26:54 -06:00

README

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.