gcc/gcc/config
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
..
alpha dbxout.c (dbxout_source_line_counter): New global variable. 2003-06-17 08:06:58 +00:00
arc rtl.h (STORE_FLAG_VALUE): Remove default definition from here. 2003-06-14 21:47:45 +00:00
arm config.gcc: Add an extra_header for ARM targets. 2003-06-18 16:36:13 +00:00
avr dbxout.c (dbxout_source_line_counter): New global variable. 2003-06-17 08:06:58 +00:00
c4x c4x.c: Don't include "c-tree.h". 2003-06-16 13:41:28 +00:00
cris rtl.h (STORE_FLAG_VALUE): Remove default definition from here. 2003-06-14 21:47:45 +00:00
d30v ChangeLog.3: Fix comment typos. 2003-06-17 19:03:12 +00:00
dsp16xx tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation. 2003-06-07 13:46:11 +02:00
fr30 * fr30.c (fr30_print_operand): Fix format specifier warnings. 2003-05-16 21:03:04 +00:00
frv decl.c, [...]: Don't use the PTR macro. 2003-06-16 21:41:10 +00:00
h8300 h8300-protos.h: Update to ISO C. 2003-06-17 22:45:08 +00:00
i370 rtl.h (STORE_FLAG_VALUE): Remove default definition from here. 2003-06-14 21:47:45 +00:00
i386 i386.c (ix86_memory_move_cost): Fix typo. 2003-06-16 15:26:44 +00:00
i960 dbxout.c (dbxout_source_line_counter): New global variable. 2003-06-17 08:06:58 +00:00
ia64 ia64.c (ia64_expand_builtin, [...]): Handle POINTERS_EXTEND_UNSIGNED. 2003-06-17 09:40:37 -04:00
ip2k * config/ip2k/ip2k.h: Replace "GNU CC" and "GNU compiler" with "GCC". 2003-06-17 00:16:40 +00:00
m32r ChangeLog.3: Fix comment typos. 2003-06-17 19:03:12 +00:00
m68hc11 m68hc11.c (m68hc11_rtx_costs): Remove unreachable code. 2003-06-16 20:14:44 +00:00
m68k dbxout.c (dbxout_source_line_counter): New global variable. 2003-06-17 08:06:58 +00:00
mcore dbxout.c (dbxout_source_line_counter): New global variable. 2003-06-17 08:06:58 +00:00
mips * config/mips/mips.md (trap): Use break 0 when !TARGET_GAS. 2003-06-17 20:50:41 +00:00
mmix dbxout.c (dbxout_source_line_counter): New global variable. 2003-06-17 08:06:58 +00:00
mn10300 d30v.h: Delete reference to ASM_FINAL_SPEC. 2003-06-11 17:52:42 +00:00
ns32k ChangeLog.3: Fix comment typos. 2003-06-17 19:03:12 +00:00
pa dbxout.c (dbxout_source_line_counter): New global variable. 2003-06-17 08:06:58 +00:00
pdp11 rtl.h (STORE_FLAG_VALUE): Remove default definition from here. 2003-06-14 21:47:45 +00:00
rs6000 rs6000.c (init_cumulative_args): Add and handle LIBCALL argument. 2003-06-18 06:19:01 +00:00
s390 s390.c (s390_va_arg): Fix alignment when retrieving non-integral types from integer register save... 2003-06-13 13:04:34 +00:00
sh coff.h: Replace Hitachi with Renesas. 2003-06-17 19:19:16 +00:00
sparc * config/sparc/sparc.c (sparc_va_arg): Don't align 16-byte+ structures. 2003-06-17 08:12:16 +00:00
stormy16 d30v.h: Delete reference to ASM_FINAL_SPEC. 2003-06-11 17:52:42 +00:00
v850 rtl.h (STORE_FLAG_VALUE): Remove default definition from here. 2003-06-14 21:47:45 +00:00
vax d30v.h: Delete reference to ASM_FINAL_SPEC. 2003-06-11 17:52:42 +00:00
xtensa rtl.h (STORE_FLAG_VALUE): Remove default definition from here. 2003-06-14 21:47:45 +00:00
README
chorus.h chorus.h: Consistently define *_DEBUGGING_INFO with the value 1. 2002-08-29 21:40:18 +00:00
darwin-c.c darwin-c.c (darwin_pragma_unused): Use lookup_name, not IDENTIFIER_LOCAL_VALUE. 2003-04-11 18:06:38 +00:00
darwin-crt2.c Index: ChangeLog 2002-11-07 06:00:07 +00:00
darwin-protos.h config.gcc (with_cpu handling): Translate sparc64 in $machine to --with-cpu=v9. 2003-06-07 17:11:48 +00:00
darwin.c config.gcc (with_cpu handling): Translate sparc64 in $machine to --with-cpu=v9. 2003-06-07 17:11:48 +00:00
darwin.h config.gcc (with_cpu handling): Translate sparc64 in $machine to --with-cpu=v9. 2003-06-07 17:11:48 +00:00
dbx.h chorus.h: Consistently define *_DEBUGGING_INFO with the value 1. 2002-08-29 21:40:18 +00:00
dbxcoff.h dbxout.c (dbxout_source_line_counter): New global variable. 2003-06-17 08:06:58 +00:00
dbxelf.h dbxout.c (dbxout_source_line_counter): New global variable. 2003-06-17 08:06:58 +00:00
divmod.c
elfos.h c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, [...]): Default here. 2003-05-18 09:46:23 +00:00
fp-bit.c install.texi: Follow spelling conventions. 2003-06-15 04:00:48 +00:00
fp-bit.h * fp-bit.h (float_to_usi): Fix condition wrapping prototype. 2003-03-02 13:11:15 +00:00
freebsd-nthr.h
freebsd-spec.h configure.in (HAVE_LD_PIE): Check for ld -pie. 2003-06-03 11:06:55 +02:00
freebsd.h defaults.h (TARGET_CPU_CPP_BUILTINS, [...]): Remove. 2003-05-17 21:59:25 +00:00
freebsd3.h
freebsd4.h
freebsd5.h
freebsd6.h
gnu.h
gofast.h gofast.h, [...]: GNU CC -> GCC. 2003-06-16 02:41:51 +00:00
interix.h gofast.h, [...]: GNU CC -> GCC. 2003-06-16 02:41:51 +00:00
interix3.h gofast.h, [...]: GNU CC -> GCC. 2003-06-16 02:41:51 +00:00
kaos.h gofast.h, [...]: GNU CC -> GCC. 2003-06-16 02:41:51 +00:00
libgcc-glibc.ver
libgloss.h gofast.h, [...]: GNU CC -> GCC. 2003-06-16 02:41:51 +00:00
linux-aout.h gofast.h, [...]: GNU CC -> GCC. 2003-06-16 02:41:51 +00:00
linux.h gofast.h, [...]: GNU CC -> GCC. 2003-06-16 02:41:51 +00:00
lynx-ng.h gofast.h, [...]: GNU CC -> GCC. 2003-06-16 02:41:51 +00:00
lynx.h dbxout.c (dbxout_source_line_counter): New global variable. 2003-06-17 08:06:58 +00:00
netbsd-aout.h configure.in (HAVE_LD_PIE): Check for ld -pie. 2003-06-03 11:06:55 +02:00
netbsd-elf.h c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, [...]): Default here. 2003-05-18 09:46:23 +00:00
netbsd.h c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for LP64 targets. 2003-03-12 21:30:06 +01:00
netware.h builtins.def: Fix comment formatting. 2002-09-29 13:16:44 +00:00
openbsd-oldgas.h
openbsd.h configure.in (HAVE_LD_PIE): Check for ld -pie. 2003-06-03 11:06:55 +02:00
ptx4.h dbxout.c (dbxout_source_line_counter): New global variable. 2003-06-17 08:06:58 +00:00
rtems.h rtems.h, [...]: GNU CC -> GCC. 2003-06-16 11:34:38 +00:00
sol2.h rtems.h, [...]: GNU CC -> GCC. 2003-06-16 11:34:38 +00:00
svr3.h svr3.h: Remove #if 0 code, misleading comments. 2003-06-16 02:14:20 +00:00
svr4.h rtems.h, [...]: GNU CC -> GCC. 2003-06-16 11:34:38 +00:00
t-darwin c-common.c (handle_cleanup_attribute): New. 2003-06-04 10:06:00 -07:00
t-freebsd
t-freebsd-thread
t-gnu
t-interix
t-libc-ok * config/t-libc-ok: Fix typo. 2002-11-26 22:47:18 +00:00
t-libgcc-pic
t-libunwind Merge basic-improvements-branch to trunk 2002-12-16 18:23:00 +00:00
t-linux c-common.c (handle_cleanup_attribute): New. 2003-06-04 10:06:00 -07:00
t-linux-aout
t-linux-gnulibc1 c-common.c (handle_cleanup_attribute): New. 2003-06-04 10:06:00 -07:00
t-netbsd * config/t-netbsd (USER_H): Revert previous change. 2003-02-07 15:53:35 +00:00
t-openbsd
t-openbsd-thread
t-rtems
t-slibgcc-elf-ver Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR. 2003-01-09 09:00:41 +01:00
t-slibgcc-nolc-override
t-slibgcc-sld Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR. 2003-01-09 09:00:41 +01:00
t-svr4
t-vxworks Merge basic-improvements-branch to trunk 2002-12-16 18:23:00 +00:00
tm-dwarf2.h
udivmod.c
udivmodsi4.c
usegas.h rtems.h, [...]: GNU CC -> GCC. 2003-06-16 11:34:38 +00:00
vxlib.c Merge basic-improvements-branch to trunk 2002-12-16 18:23:00 +00:00
vxworks.h * config/vxworks.h: Replace "GNU compiler" with "GCC". 2003-06-17 01:07:04 +00:00
x-interix

README

This directory contains machine-specific files for the GNU C compiler.
It has a subdirectory for each basic CPU type.
The only files in this directory itself
are some .h files that pertain to particular operating systems
and are used for more than one CPU type.