Commit Graph

38519 Commits

Author SHA1 Message Date
Jeffrey A Law 512672fd5a pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
* pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
        (muldi3): Update due to SUBREG_BYTE changes.
        (casesi): Similarly.

From-SVN: r46889
2001-11-09 13:00:50 -07:00
Kazu Hirata beda04276f * MAINTAINERS (Various maintainers: h8 port): Add myself.
From-SVN: r46888
2001-11-09 19:09:06 +00:00
Zack Weinberg 2e7bb36bf1 * doc/invoke.texi: Remove comment referring to -xf77-version.
From-SVN: r46887
2001-11-09 18:54:32 +00:00
Kazu Hirata cde34caf14 convex.c: Fix comment formatting.
* config/convex/convex.c: Fix comment formatting.
	* config/convex/convex.h: Likewise.

From-SVN: r46886
2001-11-09 18:37:42 +00:00
John David Anglin 6ca224d34d * MAINTAINERS (Various maintainers: hppa port): Added myself.
From-SVN: r46885
2001-11-09 18:11:37 +00:00
Zack Weinberg 359cd11e36 Makefile.in (.po.pox): Look both in srcdir and builddir for $(PACKAGE).pot.
* Makefile.in (.po.pox): Look both in srcdir and builddir
	for $(PACKAGE).pot.
	(po/$(PACKAGE).pot): Don't move-if-change the new potfile over
	to the source directory.
	* po/exgettext: Deposit new potfile in po subdir.

From-SVN: r46884
2001-11-09 17:51:56 +00:00
Zack Weinberg 8fbea508b1 g77spec.c (lang_specific_driver): Adjust behavior of -v and --version for consistency with other front ends.
* g77spec.c (lang_specific_driver): Adjust behavior of -v and
	--version for consistency with other front ends.  Remove large
	#if 0 block.  Do not add libraries to argv if there are no
	input files.
	(add_version_magic): Delete all references and dependent code.
	* lang-options.h: Delete -fnull-version.
	* lang-specs.h: Delete f77-version spec.

	* lex.c: Delete logic conditional on ffe_is_null_version() and
	now-unused label.
	* top.c: Delete ffe_is_null_version_ variable.
	(ffe_decode_option): Delete -fnull-version case.
	* top.h: Delete declaration of ffe_is_null_version_ and
	ffe_is_null_version(), ffe_set_is_null_version() macros.

From-SVN: r46883
2001-11-09 17:50:06 +00:00
Jeff Sturm 75b17b742a * verify.cc: Wrap in #ifdef INTERPRETER...#endif.
From-SVN: r46882
2001-11-09 17:33:45 +00:00
Ben Elliston de41e41c42 m32r.c: Add support for m32rx processor.
* m32r.c: Add support for m32rx processor.
        * m32r.h: Ditto.
        * m32r.md: Ditto.
        * t-m32r: Ditto.
        * m32r-protos.h: Add prototypes for m32rx functions.
        * doc/invoke.texi: Document -m32rx option.

Co-Authored-By: Andrew MacLeod <amacleod@redhat.com>
Co-Authored-By: Catherine Moore <clm@redhat.com>
Co-Authored-By: Michael Meissner <meissner@redhat.com>
Co-Authored-By: Nick Clifton <nickc@redhat.com>
Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r46881
2001-11-09 09:57:50 -05:00
Jakub Jelinek a3d87e92eb sparc.md (movdf): Avoid calling validize_mem during or after reload.
* config/sparc/sparc.md (movdf): Avoid calling validize_mem during
	or after reload.

	* gcc.c-torture/compile/20011109-1.c: New test.

From-SVN: r46880
2001-11-09 15:30:33 +01:00
Gerald Pfeifer 7ade1c9cd7 * doc/install.texi2html: Use $MAKEINFO --no-split.
From-SVN: r46879
2001-11-09 10:56:01 +00:00
Andreas Schwab 66e918e53f Makefile.in ($(HOST_PREFIX_1)rtl.o, $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o, $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o, $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
* Makefile.in ($(HOST_PREFIX_1)rtl.o,
	$(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
	$(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
	$(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
	$(HOST_PREFIX_1)ggc-none.o): Update dependencies.

From-SVN: r46878
2001-11-09 09:55:23 +00:00
H.J. Lu 2aae2cc70c mips.c (mips_output_function_prologues): Cast `tsize' to long for output.
2001-11-09  H.J. Lu <hjl@gnu.org>

	* config/mips/mips.c (mips_output_function_prologues): Cast
	`tsize' to long for output.

From-SVN: r46877
2001-11-09 00:53:18 -08:00
GCC Administrator 594f48d917 Daily bump.
From-SVN: r46876
2001-11-09 08:20:48 +00:00
Neil Booth 3ac88239fc c-lang.c (LANG_HOOKS_NAME): New.
* c-lang.c (LANG_HOOKS_NAME): New.
	(lang_hooks): Constify.
	(c_init_options): Update.
	(lang_identify): Remove.
	* c-parse.in (language_string): Remove.
	* dbxout.c: Include langhooks.h.
	(dbxout_symbol_location): Update.
	* dwarf2out.c: Include langhooks.h.
	(gen_compile_unit_die): Update.
	* dwarfout.c: Include langhooks.h.
	(prototyped_attribute, output_compile_unit_die): Update.
	* langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
	(LANG_HOOKS_INITIALIZER): Update.
	* langhooks.h (struct lang_hooks): New members.  Constify.
	* stringpool.c: Don't include toplev.h.
	(set_identifier_size): Remove.
	* toplev.c (toplev_main): Initialize identifier size.
	(print_version): Update.
	* tree.h (language_string, init_lex, lang_identify,
	set_identifier_size): Remove.
	* Makefile.in: Update dependencies.
	* config/darwin.c: Include langhooks.h.
	(func_name_maybe_scoped): Update.
	* config/darwin.h (ASM_END_FILE): Update.
	* config/nextstep.h (ASM_END_FILE): Update.
	* config/nextstep21.h (ASM_END_FILE): Update.
	* config/i386/sun386.h (ASM_END_FILE): Update.
	* config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
	(rs6000_output_function_epilogue): Update.
ada:
	* misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
	(struct lang_hooks): Constify.
	(language_string, lang_identify): Remove.
	* utils.c (init_decl_processing): Update.
cp:
	* cp-lang.c (LANG_HOOKS_NAME): Override.
	(struct lang_hooks): Constify.
	* lex.c (cxx_init_options): Update.
	(lang_identify): Remove.
	* parse.y (language_string): Remove.
f:
	* com.c (language_string, lang_identify): Remove.
	(struct lang_hooks): Constify.
	(LANG_HOOKS_NAME): Override.
	(init_parse): Update.
java:
	* jcf-parse.c (init_lex): Remove.
	* lang.c (language_string, lang_identify): Remove.
	(struct lang_hooks): Constify.
	(LANG_HOOKS_NAME): Override.
	(init_parse): Update.
objc:
	* objc-act.c (LANG_HOOKS_NAME): Override.
	(struct lang_hooks): Constify.
	(objc_init_options): Update.
	(lang_identify): Remove.

From-SVN: r46874
2001-11-09 07:14:20 +00:00
Geoffrey Keating 14d269bba7 * config.gcc: Rename stormy16 to xstormy16.
From-SVN: r46873
2001-11-09 05:32:46 +00:00
John Wehle 11b161d069 fold-const.c (lshift_double): Honor PREC.
* fold-const.c (lshift_double): Honor PREC.
	(rshift_double): Likewise.

From-SVN: r46872
2001-11-09 05:27:51 +00:00
Kazu Hirata 702020d658 1750a.c: Fix comment formatting.
* config/1750a/1750a.c: Fix comment formatting.
	* config/1750a/1750a.h: Likewise.

From-SVN: r46871
2001-11-09 02:51:34 +00:00
Phil Edwards cc9a08e014 configure.in (--enable-languages): Be more permissive about syntax.
* configure.in (--enable-languages): Be more permissive about
syntax.  Check for empty lists better.  Warn about $LANGUAGES.
* configure: Regenerated.

From-SVN: r46870
2001-11-08 21:06:30 -05:00
Phil Edwards 132e4bd7eb configure.in (--enable-languages): Be more permissive about syntax.
* configure.in (--enable-languages): Be more permissive about
syntax.  Check for empty lists better.  Warn about $LANGUAGES.

From-SVN: r46869
2001-11-08 21:06:18 -05:00
Richard Henderson aa1c9d3875 * dwarf2asm.c (dw2_force_const_mem): Fix typo.
From-SVN: r46868
2001-11-08 17:21:13 -08:00
Geoffrey Keating c6243b4cbd In ChangeLog: 2001-11-08 Geoffrey Keating <geoffk@redhat.com>
In ChangeLog:
2001-11-08  Geoffrey Keating  <geoffk@redhat.com>

	* config.sub: Import from master sources, rev. 1.230.
	* MAINTAINERS: Change 'stormy16' to 'xstormy16'.

Index: gcc/ChangeLog
2001-11-08  Geoffrey Keating  <geoffk@redhat.com>

	* config.gcc: Rename stormy16 to xstormy16.
	* config/stormy16/stormy-abi: Likewise.
	* config/stormy16/stormy16-protos.h: Likewise.
	* config/stormy16/stormy16.c: Likewise.
	* config/stormy16/stormy16.h: Likewise.
	* config/stormy16/stormy16.md: Likewise.

Index: gcc/testsuite/ChangeLog
2001-11-08  Geoffrey Keating  <geoffk@redhat.com>

	* g++.old-deja/g++.bugs/900227_01.C: Change stormy16 to xstormy16.
	* g++.old-deja/g++.eh/badalloc1.C: Change stormy16 to xstormy16.
	* g++.old-deja/g++.mike/ns15.C: Change stormy16 to xstormy16.
	* g++.old-deja/g++.pt/crash16.C: Change stormy16 to xstormy16.
	* gcc.c-torture/compile/961203-1.x: Change stormy16 to xstormy16.
	* gcc.c-torture/compile/980506-1.x: Change stormy16 to xstormy16.
	* gcc.c-torture/compile/990617-1.x: Change stormy16 to xstormy16.

From-SVN: r46867
2001-11-09 01:17:07 +00:00
Richard Kenner 7857151141 * reload1.c (reload): Don't delete equiv insn if can throw.
From-SVN: r46866
2001-11-08 18:40:15 -05:00
Richard Kenner 66c60e6756 expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
* expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
	(clear_storage): Likewise, for OBJECT.

From-SVN: r46865
2001-11-08 18:33:08 -05:00
Jeffrey A Law 99a2782c86 pa.c (emit_move_sequence): Fix SUBREG expression to use proper byte offset when...
* pa.c (emit_move_sequence): Fix SUBREG expression to
        use proper byte offset when extending a constant from
        SImode to DImode.

From-SVN: r46864
2001-11-08 16:23:29 -07:00
Jakub Jelinek 89753b3a90 cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns which cannot throw.
* cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
	which cannot throw.

From-SVN: r46863
2001-11-09 00:14:26 +01:00
Richard Kenner 6608bd4de4 explow.c (convert_memory_address, [...]): Only return inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
* explow.c (convert_memory_address, case SUBREG): Only return
	inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.

From-SVN: r46862
2001-11-08 17:56:52 -05:00
Richard Henderson f098ead2f5 Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
* Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
        (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
        (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.

From-SVN: r46860
2001-11-08 14:48:13 -08:00
Aldy Hernandez 775db4902f * rs6000.h (ASM_CPU_SPEC): Add -maltivec.
From-SVN: r46859
2001-11-08 22:46:23 +00:00
Jakub Jelinek 9eb4015a4a dwarf2out.c (debug_str_hash): New.
* dwarf2out.c (debug_str_hash): New.
	(struct indirect_string_node): New.
	(struct dw_val_struct): Change type of val_str to it.
	(DEBUG_STR_SECTION_FLAGS): Define.
	(add_AT_string): Push string into hashtable, increment reference
	counter.
	(AT_string): Return string from ht_identifier.
	(AT_string_form): New.
	(free_AT): For dw_val_class_str, just decrement reference counter.
	(size_of_string): Remove.
	(size_of_die): Use AT_string_form to decide what size the string
	occupies in DIE.
	(size_of_pubnames): Use strlen instead of size_of_string.
	(value_format): Use AT_string_form for dw_val_class_str.
	(output_die): Output DW_FORM_strp strings using
	dw2_asm_output_offset.
	(indirect_string_alloc, output_indirect_string): New.
	(dwarf2out_finish): Emit .debug_str strings if there are any.

From-SVN: r46858
2001-11-08 22:07:46 +01:00
Danny Smith 944effb637 configure.target: Add os_include_dir for mingw32* target.
* configure.target: Add os_include_dir for mingw32* target.
* docs/html/17_intro/porting.texi: Mention mingw32 as target benefiting from
_GLIBCPP_AVOID_FSEEK.
* config/os/mingw32/bits/ctype_base.h: New file.
* config/os/mingw32/bits/ctype_inline.h: New file.
* config/os/mingw32/bits/ctype_noninline.h: New file.
* config/os/mingw32/bits/os_defines.h: New file.

From-SVN: r46857
2001-11-08 20:52:29 +00:00
Andreas Franck b21d216c74 configure.in: Add AC_ARG_PROGRAM to support program name transformation with --program-prefix...
* configure.in: Add AC_ARG_PROGRAM to support program name
transformation with --program-prefix, --program-suffix and
--program-transform-name.
* Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
program_transform_name the way suggested by autoconf.
(GCC_TARGET_INSTALL_NAME): Define.
(install-driver): Use the transformed target alias name.


* Make-lang.in (CXX_INSTALL_NAME, GXX_CROSS_NAME,
DEMANGLER_CROSS_NAME): Handle program_transform_name the way
suggested by autoconf.
(GXX_TARGET_INSTALL_NAME, CXX_TARGET_INSTALL_NAME): Define.
(c++.install-common): Use the transformed target alias names.

* Make-lang.in (G77_INSTALL_NAME, G77_CROSS_NAME): Handle
program_transform_name the way suggested by autoconf.

* Make-lang.in (JAVA_INSTALL_NAME, JAVA_CROSS_NAME): Handle
program_transform_name the way suggested by autoconf.
(java.install-common): Also transform auxiliary program names with
program_transform_name.

From-SVN: r46856
2001-11-08 15:18:18 -05:00
Richard Henderson c8a14e0e9a mips.c (save_restore_insns): Remove GP from the restore registers mask early instead of special casing it...
* config/mips/mips.c (save_restore_insns): Remove GP from the
        restore registers mask early instead of special casing it inside
        the loop.

From-SVN: r46853
2001-11-08 11:20:38 -08:00
Neil Booth 8ac9ea616e decl.c (shadow_warning): New function.
* cp/decl.c (shadow_warning): New function.
	(pushdecl): Improve -Wshadow warnings.  Don't give both a warning
	and an error when a block scope decl shadows a parameter.

	* g++.dg/warn/Wshadow-1.C: New tests.
	* g++.old-deja/g++.mike/for3.C: Update.

From-SVN: r46852
2001-11-08 19:04:43 +00:00
Richard Henderson 86724f7f86 fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST case as well.
* config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
        case as well.

From-SVN: r46851
2001-11-08 10:56:45 -08:00
Aldy Hernandez f4fdaedae3 objc-api.h (_C_VECTOR): New.
2001-11-07  Aldy Hernandez  <aldyh@redhat.com>

	 * objc-api.h (_C_VECTOR): New.

	 * encoding.c (VECTOR_TYPE): New.

From-SVN: r46849
2001-11-08 18:51:27 +00:00
John David Anglin 8270e11fe7 pa.md (negdf2, negsf2): Use multiplication rather than subtraction to implement floating negation on...
* pa.md (negdf2, negsf2): Use multiplication rather than subtraction
	to implement floating negation on processors prior to PA 2.0.

From-SVN: r46847
2001-11-08 17:19:07 +00:00
Tom Tromey 1fa73144cb parse.y (trap_overflow_corner_case): New rule.
* parse.y (trap_overflow_corner_case): New rule.
	(unary_expression): Use it.
	* lex.c (java_init_lex): Don't set minus_seen.
	(yylex): Don't use minus_seen.  Communicate overflow to parser for
	it to handle.
	(error_if_numeric_overflow): New function.
	* parse.h (minus_seen): Removed field.
	(JAVA_RADIX10_FLAG): New define.

From-SVN: r46846
2001-11-08 15:38:10 +00:00
Tom Tromey 5a21a051b7 Patch for PR java/1414:
* parse.y (case_label_list): New global.
	(goal): Register case_label_list with GC.
	(java_complete_lhs): Save new case on case_label_list.
	(patch_switch_statement): Check for duplicate case labels.

From-SVN: r46845
2001-11-08 15:33:40 +00:00
Anthony Green 3248fb6cc4 Somebody forgot a >>>>>>>>
From-SVN: r46844
2001-11-08 15:13:11 +00:00
Jakub Jelinek d6d2676479 dwarf2asm.c (mark_indirect_pool_entry, [...]): New.
* dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
	(USE_LINKONCE_INDIRECT): Define.
	(dw2_output_indirect_constant_1): Try to output indirect constants
	into linkonce sections if possible.
	(dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
	(dw2_output_indirect_constants): Likewise.

From-SVN: r46843
2001-11-08 12:33:32 +01:00
GCC Administrator c71541c273 Daily bump.
From-SVN: r46842
2001-11-08 08:16:41 +00:00
Toon Moene 722b117b5a Make-lang.in: Add rules for building g77.1.
2001-11-08  Toon Moene  <toon@moene.indiv.nluug.nl>

	* Make-lang.in: Add rules for building g77.1.
	* invoke.texi: Add man page stuff.  Move indexing
	from g77.texi to here.
	* g77.texi: Remove indexing specific to invoke.texi.
	* news.texi: Document that g77.1 is now a generated
	file.

From-SVN: r46840
2001-11-08 00:07:58 +00:00
Aldy Hernandez 5856847524 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
From-SVN: r46839
2001-11-07 23:47:47 +00:00
Neil Booth 2916c08508 c-decl.c (pushdecl): Remove file and line.
* c-decl.c (pushdecl): Remove file and line.
	* c-typeck.c (pop_init_level): Remove size.

From-SVN: r46838
2001-11-07 22:52:30 +00:00
Aldy Hernandez 216caa2b7f darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT to 64.
* darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT to 64.

	* linux64.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT to 64.

From-SVN: r46837
2001-11-07 22:27:03 +00:00
Nathan Myers 2dac8f87e8 index.html (5.8): New entry on ABIs.
2001-11-07  Nathan Myers  <ncm@cantrip.org>

	* docs/html/faq/index.html (5.8):  New entry on ABIs.
	* docs/html/faq/index.txt:  Regenerate.

From-SVN: r46836
2001-11-07 21:08:53 +00:00
Aldy Hernandez 83c6af9942 forgot cl entries
From-SVN: r46835
2001-11-07 20:54:05 +00:00
Alexandre Petit-Bianco 5573cb3918 parse.y (patch_assignment): Removed unused third argument.
2001-11-07  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (patch_assignment): Removed unused third argument.
	(java_complete_lhs): Removed unused third argument to patch_assignment.

( http://gcc.gnu.org/ml/gcc-patches/2001-11/msg00469.html )

From-SVN: r46834
2001-11-07 12:50:00 -08:00
Aldy Hernandez 0ac081f6b8 invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec for rs6000.
* doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
	for rs6000.

	* config/rs6000/rs6000.h (MASK_ALTIVEC): New.
	(TARGET_ALTIVEC): New.
	(TARGET_SWITCHES): Add altivec.
	(FIRST_PSEUDO_REGISTER): Change to 109.
	(CALL_USED_REGISTERS): Same.
	(FIRST_ALTIVEC_REGNO): New.
	(LAST_ALTIVEC_REGNO): New.
	(ALTIVEC_REGNO_P): New.
	(UNITS_PER_ALTIVEC_WORD): New.
	(ALTIVEC_VECTOR_MODE): New.
	(FIXED_REGISTERS): Add altivec registers.
	(REG_ALLOC_ORDER): Same.
	(HARD_REGNO_NREGS): Adjust for altivec registers.
	(HARD_REGNO_MODE_OK): Same.
	(MODES_TIEABLE_P): Same.
	(REGISTER_MOVE_COST): Same.
	(REGNO_REG_CLASS): Same.
	(reg_class): Add ALTIVEC_REGS.
	(REG_CLASS_NAMES): Same.
	(REG_CLASS_CONTENTS): Same.
	(REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
	(ALTIVEC_ARG_RETURN): New.
	(FUNCTION_VALUE): Handle VECTOR_TYPE.
	(LIBCALL_VALUE): Handle altivec vector modes.
	(VECTOR_MODE_SUPPORTED_P): New.
	(ALTIVEC_ARG_MIN_REG): New.
	(ALTIVEC_ARG_MAX_REG): New.
	(ALTIVEC_ARG_NUM_REG): New.
	(FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
	(FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
	(REGISTER_NAMES): Add altivec regs.
	(DEBUG_REGISTER_NAMES): Same.
	(ADDITIONAL_REGISTER_NAMES): Same.
	(rs6000_builtins): New.
	(MD_EXPAND_BUILTIN): New.
	(MD_INIT_BUILTINS): New.
	(LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
	for AltiVec instructions.
	(LEGITIMATE_LO_SUM_ADDRESS_P): Same.
	(HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
	registers.
	(SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
	(TARGET_SWITCHES): Add no-altivec.
	(DATA_ALIGNMENT): Align vectors to 128 bits.
	(TARGET_OPTIONS): Add abi= option.
	Add rs6000_abi_string extern.
	(LOCAL_ALIGNMENT): New.
	(CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
	(MASK_ALTIVEC_ABI): New.
	(TARGET_ALTIVEC_ABI): New.
	(CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
	call-saved.
	(STACK_BOUNDARY): Adjust for altivec.
	(BIGGEST_ALIGNMENT): Same.
	(rs6000_args): Add vregno.
	(USE_ALTIVEC_FOR_ARG_P): New.
	(FIXED_REGISTERS): Add vrsave register.
	(CALL_USED_REGISTERS): Same.
	(CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
	(VRSAVE_REGNO): New.
	(reg_class): Add VRSAVE_REGS.
	(REG_CLASS_NAMES): Same.
	(REG_CLASS_CONTENTS): Same.
	(REGNO_REG_CLASS): Same.

	* config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
	(ABI_STACK_BOUNDARY): Same.
	(BIGGEST_ALIGNMENT): Same.
	(ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
	(ROUND_TYPE_ALIGN): Same.

	* config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
	to 64.

	* config/rs6000/rs6000.c (rs6000_expand_builtin): New.
	(altivec_expand_builtin): New.
	(altivec_init_builtins): New.
	(TARGET_EXPAND_BUILTIN): New.
	(TARGET_INIT_BUILTINS): New.
	(rs6000_init_builtins): New.
	(struct builtin_description): New.
	(bdesc_2arg): New.
	(rs6000_reg_names): Add altivec registers.
	(alt_reg_names): Same.
	(secondary_reload_class): Altivec regs can hold altivec regs and
	memory.
	(rs6000_emit_move): Force constants into memory for AltiVec moves.
	(print_operand): Add 'y' case for printing altivec memory
	operands.
	(rs6000_legitimize_address): Legitimize vector addresses into
	[REG+REG] or [REG].
	(altivec_expand_binop_builtin): New.
	New string rs6000_current_abi.
	(rs6000_override_options): Call rs6000_parse_abi_options.
	(rs6000_parse_abi_options): New.
	(function_arg_boundary): Vector arguments must be 16
	byte aligned.
	(function_arg_advance): Handle vector arguments.
	(function_arg_partial_nregs): Same.
	(init_cumulative_args): Same.
	(function_arg): Same.

	* config/rs6000/rs6000.md (altivec_lvx): New.
	(type): Add altivec attribute.
	(movv4si): New.
	(*movv4si_internal): New.
	(movv16qi): New.
	(*movv16qi_internal): New.
	(movv8hi): New.
	(*movv8hi_internal1): New.
	(movv4sf): New.
	(*movv4sf_internal1): New.
	(altivec_stvx): New.
	(vaddubm): New.
	(vadduhm): New.
	(vadduwm): New.
	(vaddfp): New.
	(vaddcuw): New.
	(vaddubs): New.
	(vaddsbs): New.
	(vadduhs): New.
	(vaddshs): New.
	(vadduws): New.
	(vaddsws): New.
	(vand): New.
	(vandc): New.
	(vavgub): New.
	(vavgsb): New.
	(vavguh): New.
	(vavgsh): New.
	(vavguw): New.
	(vavgsw): New.
	(vcmpbfp): New.
	(vcmpequb): New.
	(vcmpequh): New.
	(vcmpequw): New.
	(vcmpeqfp): New.
	(vcmpgefp): New.
	(vcmpgtub): New.
	(vcmpgtsb): New.
	(vcmpgtuh): New.
	(vcmpgtsh): New.
	(vcmpgtuw): New.
	(vcmpgtsw): New.
	(vcmpgtfp): New.
	(vcmpgefp): New.
	(vcmpgtub): New.
	(vcmpgtsb): New.
	(vcmpgtuh): New.
	(vcmpgtsh): New.
	(vcmpgtuw): New.
	(vcmpgtsw): New.
	(vcmpgtfp): New.
	(vmaxub): New.
	(vmaxsb): New.
	(vmaxuh): New.
	(vmaxsh): New.
	(vmaxuw): New.
	(vmaxsw): New.
	(vmaxfp): New.
	(vmrghb): New.
	(vmrghh): New.
	(vmrghw): New.
	(vmrglb): New.
	(vmrglh): New.
	(vmrglw): New.
	(vminub): New.
	(vminsb): New.
	(vminuh): New.
	(vminsh): New.
	(vminuw): New.
	(vminsw): New.
	(vminfp): New.
	(vmuleub): New.
	(vmulesb): New.
	(vmuleuh): New.
	(vmulesh): New.
	(vmuloub): New.
	(vmulosb): New.
	(vmulouh): New.
	(vmulosh): New.
	(vnor): New.
	(vor): New.
	(vpkuhum): New.
	(vpkuwum): New.
	(vpkpx): New.
	(vpkuhss): New.
	(vpkshss): New.
	(vpkuwss): New.
	(vpkswss): New.
	(vpkuhus): New.
	(vpkshus): New.
	(vpkuwus): New.
	(vpkswus): New.
	(vrlb): New.
	(vrlh): New.
	(vrlw): New.
	(vslb): New.
	(vslh): New.
	(vslw): New.
	(vsl): New.
	(vslo): New.
	(vsrb): New.
	(vrsh): New.
	(vrsw): New.
	(vsrab): New.
	(vsrah): New.
	(vsraw): New.
	(vsr): New.
	(vsro): New.
	(vsububm): New.
	(vsubuhm): New.
	(vsubuwm): New.
	(vsubfp): New.
	(vsubcuw): New.
	(vsububs): New.
	(vsubsbs): New.
	(vsubuhs): New.
	(vsubshs): New.
	(vsubuws): New.
	(vsubsws): New.
	(vsum4ubs): New.
	(vsum4sbs): New.
	(vsum4shs): New.
	(vsum2sws): New.
	(vsumsws): New.
	(vxor): New.

From-SVN: r46833
2001-11-07 20:49:41 +00:00