+2000-07-10 Nick Clifton <nickc@cygnus.com>
+
+ * libgcc2.c (next_stack_level): Cast result of computation to
+ (void **) so that the assignment doe snot generate a warning.
+
+2000-07-10 Chandrakala Chavva <cchavva@redhat.com>
+
+ * flags.h : Add new variable flag_single_precision_constant.
+ * toplev.c (display_help) : Add -fsingle-precision-constant option.
+ (flag_single_precision_constant): New.
+ * c-lex.c (yylex): Convert floating point constant to single
+ precision constant.
+ * invoke.texi : Add documentation for this new option.
+
+2000-07-10 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * diagnostic.c (output_octal): Second parameter is unsigned.
+ (output_long_octal): Likewise.
+ (output_hexadecimal): Likewise.
+ (output_long_hexadecimal): Likewise.
+ (output_format): Adjust arguments extraction. Tweak.
+ (output_verbatim, verbatim): End variable argument list.
+ (report_diagnostic): Improve documentation.
+
+2000-07-10 Benjamin Chelf <chelf@codesourcery.com>
+
+ * c-common.h (build_stmt): Declare.
+ (build_continue_stmt): Likewise.
+ (build_break_stmt): Likewise.
+ (build_return_stmt): Likewise.
+
+ * c-decl.c (do_case): Rewrite to do what previously done in
+ c-parse.in.
+
+ * c-semantics.c (build_stmt): Define.
+ (build_return_stmt): Likewise.
+ (build_break_stmt): Likewise.
+ (build_continue_stmt): Likewise.
+ (build_case_label): Likewise.
+
+ * c-parse.in (BREAK): Change to build tree, then generate RTL.
+ (CONTINUE): Likewise.
+ (RETURN): Likewise.
+ (CASE): Likewise.
+ (DEFAULT): Likewise.
+
+ * c-parse.y: Regenerate.
+ * c-pasre.c: Likewise.
+
+2000-07-09 Jason Merrill <jason@redhat.com>
+
+ * expr.c (expand_expr): Bail earlier if we get an error_mark_node.
+
+ * tree.h (STRIP_NOPS): Check for error_mark_node.
+ (STRIP_SIGN_NOPS, STRIP_TYPE_NOPS): Likewise.
+ (dwarf2out_*): Remove duplicate declarations.
+
+ * c-decl.c (duplicate_decls): Copy DECL_ABSTRACT_ORIGIN from
+ DECL_ABSTRACT_ORIGIN, not DECL_ORIGIN.
+
+2000-07-10 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * diagnostic.c (wrap_text): New function.
+ (maybe_wrap_text): Likewise.
+ (output_add_string): Use it.
+ (output_format): Likewise.
+ (count_error): Use verbatim instead of notice.
+ (report_error_function): Likewise. Don't use plain fprintf.
+ (finish_diagnostic): New function.
+ (output_do_verbatim): Tweak. Commonalize functionalities in
+ output_verbatim and verbatim.
+ (output_verbatim): Adjust.
+ (verbatim): Likewise.
+ (report_diagnostic): Define.
+
+ * diagnostic.h (report_diagnostic): Prototype.
+
+2000-07-09 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cppexp.c (_cpp_parse_expr): Don't use unary plus.
+
+2000-07-09 Neil Booth <NeilB@earthling.net>
+
+ * cpphash.h: ISvspace, is_vspace, is_nvspace: New.
+ IShspace, ISspace: Update.
+
+ * cppinit.c: ISTABLE: Update.
+ V: New.
+
+ * cpplex.c (IS_HSPACE, S_NEWLINE): Remove.
+ (IS_DIRECTIVE): Rename KNOWN_DIRECTIVE.
+ (skip_block_comment, skip_line_comment, parse_string,
+ lex_line): Use is_vspace rather than IS_NEWLINE.
+ (skip_whitespace, lex_line): Clean up to use is_nvspace.
+ (lex_line): Use KNOWN_DIRECTIVE. Any kind of directive
+ gets a BOL flag.
+ (lex_next): Unconditionally stop if within a directive.
+ Treat directives within macro invocations as directives
+ (after parse_args emits error), not as the argument.
+
+2000-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * diagnostic.c (diagnostic_args): New macro.
+ (diagnostic_msg): Likewise.
+ (output_formatted_integer): Likewise.
+ (output_state): New data type.
+ (digit_buffer): Make global.
+ (output_add_integer): Rename to output_decimal. Squeeze
+ digit_buffer.
+ (output_long_decimal, output_unsigned_decimal,
+ output_long_unsigned_decimal, output_octal, output_long_octal,
+ output_hexadecimal, output_long_hexadecimal): New functions.
+ (output_append_r): New function.
+ (output_append): Tweak.
+ (output_flush_on): Rename to output_to_stream.
+ (output_format): Change prototype. Improve documentation. Handle
+ more format specifiers.
+ (build_location_prefix): Rename to context_as_prefix.
+ (output_notice): Rename to output_do_printf.
+ (output_printf): Tweak.
+ (line_wrapper_printf): Likewise.
+ (vline_wrapper_message_with_location): Adjust call to renamed
+ functions.
+ (v_message_with_decl): Likewise.
+ (default_print_error_function): Likewise.
+ (save_output_state): New function.
+ (restore_output_state): Likewise.
+ (output_do_verbatim): Likewise.
+ (output_verbatim): Define.
+ (verbatim): Likewise.
+
+ * diagnostic.h (printer_fn): Change return type from void to int.
+ Improve documentation.
+ (output_add_integer): Rename to output_decimal.
+ (output_flush_on, output_format): Don't export.
+ (output_verbatim, verbatim): Declare.
+
+2000-07-08 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ * fold-const.c (extract_muldiv) case PLUS_EXPR, MINUS_EXPR:
+ Check whether c divides op1 exactly if operation is not
+ multiplication.
+
+2000-07-08 Richard Henderson <rth@cygnus.com>
+
+ * final.c (final): Do not abort when reg-stack introduces
+ a new insn.
+
+2000-07-08 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cpplib.h (struct cpp_name): Now struct cpp_string.
+ (CPP_INT, CPP_FLOAT, CPP_NUMBER, CPP_COMMENT,
+ CPP_HEADER_NAME): Change to type S.
+ (struct cpp_token): Rename 'name' field to 'str'. Add 'node'
+ field, a cpp_hashnode *. All references to val.name updated
+ to use val.str or val.node as appropriate.
+ (struct cpp_reader): Add spec_nodes field.
+ (cpp_idcmp): Now cpp_ideq; takes a token * and a char *.
+
+ * cpphash.h (struct spec_nodes): New.
+ (enum spell_type): Reorder. Only SPELL_STRING tokens use
+ val.str. All references to 'spelling > SPELL_NONE' updated to
+ match.
+
+ (CPP_IN_SYSTEM_HEADER): Check pfile->buffer and
+ pfile->buffer->inc are not NULL before dereferencing them.
+
+ * cpplex.c (parse_name): Take a pointer to the current token,
+ plus current position and limit as args; return the new
+ position; don't copy the text of a name into the string
+ buffer, instead call cpp_lookup and store the node pointer.
+ If extending a token, copy out the text of the old into a
+ scratch buffer, append the new, look that up and store the new
+ node pointer. Inline.
+ (maybe_paste_with_next): If the result of paste is a NAME,
+ then look up the pasted text and store its node pointer.
+ (lex_line): Adjust for new parse_name interface.
+ Check for L"str", L'str' using spec_nodes->n_L.
+ (spell_token): SPELL_IDENT tokens have their spelling in
+ val.node->name. Handle SPELL_STRING tokens that don't have
+ string delimiters.
+ (_cpp_expand_name_space,
+ (can_paste): Check for L ## "str" using spec_nodes->n_L.
+ (cpp_get_token, special_symbol): No need to call cpp_lookup.
+ (cpp_idcmp): Now cpp_ideq; take a token * and a const char *;
+ return 1=equal 0=not, not a tristate.
+
+ * cpphash.c (var_args_str): Delete.
+ (find_param): Compare node fields directly.
+ (is__va_args__): Use CPP_PEDANTIC. Just compare
+ token->val.node with spec_nodes->n__VA_ARGS__.
+ (dump_funlike_macro): Don't use var_args_str.
+
+ * cpplib.c (_cpp_check_directive): Just walk through
+ spec_nodes->dirs comparing pointers.
+ (get_define_node, do_pragma_poison, detect_if_not_defined,
+ parse_ifdef): The identifier has already been looked up.
+ (do_ifdef, do_ifndef): parse_ifdef won't return a poisoned
+ node.
+ (do_if): Only call detect_if_not_defined at beginning of file.
+ (_cpp_parse_assertion): Only copy string pointers for
+ SPELL_STRING tokens.
+ (pragma_dispatch): Take a node pointer and examine its name
+ field.
+ (_cpp_init_stacks): Also initialize the spec_nodes structure.
+
+ * cppinit.c (cpp_reader_init): Call _cpp_init_stacks after
+ _cpp_init_macros.
+ (cpp_cleanup): Free pfile->spec_nodes. Call _cpp_cleanup_* in
+ reverse order from the corresponding _cpp_init_* routines.
+
+ * cppexp.c (parse_number, parse_charconst, parse_defined,
+ lex): Check val.node->type instead of calling cpp_defined.
+ Use spec_nodes entries where appropriate.
+
+ * fix-header.c, scan-decls.c: Update for interface changes.
+
+2000-07-08 Geoffrey Keating <geoffk@cygnus.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_move): Fix conditions for
+ emitting aux_truncdfsf2.
+
+2000-07-03 Donn Terry (donnte@microsoft.com)
+
+ * cppinit.c (print_help): split overlong line into ISO C89
+ maximum chunks.
+
+2000-07-07 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cppexp.c: Update all code for new lexer interface.
+ (op_t, operator codes, struct token, tokentab2, op_to_str): Remove.
+ (struct suffix, vsuf_1, vsuf_2, vsuf_3, op_to_prio): New.
+ * cpplex.c (token_names): Trim leading CPP_ from names; make
+ the strings unsigned.
+ (_cpp_spell_operator): New.
+ (is_macro_disabled): Disable all macros if rescanning
+ preprocessed text.
+ (_cpp_get_directive_token): Remove.
+
+ * cppinit.c: Don't set no_macro_expand.
+ * cpplib.c (read_line_number, do_line): Check only for EOF,
+ not VSPACE.
+ * cpphash.h: Update prototypes.
+ * cpplib.h (CPP_VSPACE): Remove.
+ (struct cpp_reader): Remove no_macro_expand.
+
+2000-07-08 Neil Booth <NeilB@earthling.net>
+
+ * cpphash.c (is__va_args__): New function.
+ (count_params): Fix line reported in error messages. Use
+ is__va_args__. Don't return ')' on error. Flag GNU style
+ rest args macro definitions.
+ (parse_define): Check macro name is not __VA_ARGS__.
+ (save_expansion): Check identifier in non-varargs-macro is
+ not __VA_ARGS__. Don't flag GNU_VARARGS.
+ * cpplex.c (parse_args): Accept no argument iff GNU_REST_ARGS.
+ (maybe_paste_with_next): Use per-macro GNU_REST_ARGS rather
+ than per-token GNU_VARARGS.
+ * cpplib.h (GNU_VARARGS): Remove.
+ (GNU_REST_ARGS): New.
+
+Sat Jul 8 01:38:25 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (call_pop, call, call_value_pop): Do not set
+ current_function_uses_pic_offset_table for calls to static
+ functions or indirect calls.
+
+2000-07-07 Jim Wilson <wilson@cygnus.com>
+
+ * config/ia64/ia64.c (rws_access_reg): New local write_count. If
+ is_predicate_reg, then take max write_count of register pair.
+
+2000-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * tradcpp.c (main): Rename label `include' to `add_include' to
+ avoid conflicts with variable `include' in traditional C.
+
+2000-07-07 Jakub Jelinek <jakub@redhat.com>
+
+ * integrate.c (copy_insn_list): Remove REG_LABEL notes.
+
+2000-07-07 Jakub Jelinek <jakub@redhat.com>
+
+ * sibcall.c (uses_addressof): Add INMEM argument, check for
+ current_function_internal_arg_pointer outside of MEM rtxs in addition
+ to ADDRESSOFs.
+ (sequence_uses_addressof): Update caller.
+
+2000-07-07 Zack Weinberg <zack@wolery.cumb.org>
+
+ * tradcpp.c (initialize_builtins): Honor NO_BUILTIN_SIZE_TYPE
+ and friends.
+
+2000-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * system.h (UNION_INIT_ZERO): New macro for initializing union
+ members in structs.
+
+ * cpplex.c (placemarker_token, eof_token): Use UNION_INIT_ZERO.
+
+2000-07-07 Neil Booth <NeilB@earthling.net>
+
+ * cpp.texi: Update.
+
+Fri Jul 7 07:47:35 2000 Jeffrey A Law (law@cygnus.com)
+
+ * final.c (final): Detect out of bounds array access to
+ the insn_lengths array.
+
+2000-07-07 Kazu Hirata <kazu@hxi.com>
+
+ * fold-const.c (fold): Fix a comment typo.
+
+2000-07-07 Neil Booth <NeilB@earthling.net>
+
+ * cpp.texi: Update to new lexer.
+
+2000-07-06 Zack Weinberg <zack@wolery.cumb.org>
+
+ * tradcpp.c: New file.
+ * tradcif.y: New file.
+ * tradcif.c: New generated file.
+
+ * Makefile.in: Add rules to build tradcpp.o, tradcif.o,
+ $(srcdir)/tradcif.c. Add tradcpp to STAGESTUFF and
+ dependencies of C. Install tradcpp from install-common, in
+ $(libsubdir).
+
+2000-07-06 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cppinit.c: Include cppdefault.h. Refer to
+ cpp_GCC_INCLUDE_DIR and cpp_GCC_INCLUDE_DIR_len, not directly
+ to GCC_INCLUDE_DIR and its length.
+ (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
+ USER_LABEL_PREFIX, REGISTER_PREFIX, struct default_include,
+ STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT): Move to
+ cppdefault.h.
+ (include_defaults_array): Move to cppdefault.c.
+
+ * cppdefault.h: New file.
+ * cppdefault.c: New file.
+
+ * Makefile.in (LIBCPP_OBJS): Add cppdefault.o.
+ (cppinit.o): Don't apply $(PREPROCESSOR_DEFINES) to this file.
+ (cppdefault.o): New rule; apply $(PREPROCESSOR_DEFINES) to
+ this file.
+
+Thu Jul 6 18:30:36 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * reload.c (push_reload): When seeing if can reuse a register,
+ check extra registers against widest of INMODE and OUTMODE.
+
+2000-07-06 Neil Booth <NeilB@earthling.net>
+
+ * cpplib.c: (_cpp_parse_assertion): Perform hash lookups
+ based on full length of predicate.
+
+2000-07-06 Hans-Peter Nilsson <hp@axis.com>
+
+ * timevar.c: [HAVE_SYS_RESOURCE_H]: Include <sys/resource.h>.
+ [NEED_DECLARATION_GETRUSAGE]: Declare getrusage.
+
+2000-07-05 Kazu Hirata <kazu@hxi.com>
+
+ * h8300-proto.h: Fix formatting.
+ * h8300.c: Likewise.
+ * h8300.h: Likewise.
+
+2000-07-05 Jim Wilson <wilson@cygnus.com>
+
+ * config/ia64/ia64.h (HARD_REGNO_MODE_OK): If FR_REGNO_P, disallow
+ CCmode.
+
+2000-07-05 Rodney Brown <RodneyBrown@pmsc.com>
+
+ * invoke.texi: Fix minor typos
+ * md.texi: Fix minor typos
+
+2000-07-05 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cpplib.c (_cpp_parse_assertion): Fix buffer overrun.
+
+2000-07-04 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cpplex.c: Don't include sys/mman.h.
+ (cpp_push_buffer, cpp_pop_buffer): Moved to cpplib.c.
+
+ * cpplib.c: Include sys/mman.h and obstack.h.
+ (cpp_push_buffer): Moved from cpplex.c; allocate buffers on an
+ obstack.
+ (cpp_pop_buffer): Moved from cpplex.c; free buffers from an obstack.
+ (_cpp_unwind_if_stack): Now static, unwind_if_stack. Don't
+ bother freeing if stack entries (they will be freed with their buffer).
+ (do_endif): Free if stack entries from the buffer obstack.
+ (push_conditional): Allocate if stack entries from the buffer obstack.
+
+ (find_answer): Rename to _cpp_find_answer.
+ (do_assert, do_unassert): Update.
+
+ * cpphash.h: Update prototypes.
+ (xobnew): New convenience macro.
+ * cpplib.h (struct cpp_reader): Add hash_ob and buffer_ob fields.
+ Update comments.
+ (struct cpp_hashnode): Remove disabled field.
+
+ * cppinit.c: Don't include hashtab.h or splay-tree.h.
+ (report_missing_guard): Moved to cppfiles.c.
+ (cpp_reader_init): Call cpp_init_stacks, cpp_init_macros,
+ cpp_init_includes.
+ (cpp_cleanup): Call cpp_cleanup_stacks, cpp_cleanup_macros,
+ cpp_cleanup_includes. Don't destroy hashtab or
+ all_include_files here.
+ (cpp_finish): Use _cpp_report_missing_guards.
+
+ * cppfiles.c (report_missing_guard): Moved from cppinit.c.
+ (_cpp_init_include_table): Rename _cpp_init_includes.
+ (_cpp_cleanup_includes, _cpp_report_missing_guards): New.
+
+ * cppexp.c (parse_assertion): Update for new name of
+ find_answer.
+
+ * Makefile.in (cpplib.o, cpphash.o, cppinit.o): Update deps.
+
+2000-07-04 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cpplib.c (do_ident): s/VSPACE/EOF/
+
+2000-07-05 Neil Booth <NeilB@earthling.net>
+
+ * cpplex.c: Fix trigraph replacement within strings.
+
+2000-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * rs6000/aix.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier.
+
+ * xcoffout.c (assign_type_number): Constify.
+ (xcoffout_source_file): Add static prototype. Don't needlessly
+ cast away const-ness.
+
+2000-07-04 Jason Merrill <jason@redhat.com>
+
+ * frame.h (frame_state): Move base_offset to end.
+
+Mon Jul 3 21:31:43 2000 Clinton Popetz <cpopetz@cygnus.com>
+
+ * calls.c (emit_library_call_value_1): Revert previous change.
+
+2000-07-03 Zack Weinberg <zack@wolery.cumb.org>
+
+ * fix-header.c (struct partial_proto): Remove unnecessary fields.
+ (recognized_extern, recognized_function, read_scan_file):
+ Update for new scheme.
+ (check_protection): It's still a multiple include guard even
+ if it doesn't always trigger.
+ * scan-decls.c (skip_to_closing_brace, scan_decls): Update for
+ new scheme.
+ * scan.h: Declare struct cpp_token. Update prototypes.
+
+2000-07-03 Neil Booth <neilb@earthling.net>
+ Zack Weinberg <zack@wolery.cumb.org>
+
+ Complete overhaul of the lexer and macro expander.
+
+ * cpphash.c (object_defn, funct_defn, push_macro_expansion,
+ arg, arglist, argdata, reflist, collect_objlike_expansion,
+ collect_funlike_expansion, collect_params,
+ warn_trad_stringify, trad_stringify, duplicate_arg_p, add_pat,
+ unsafe_chars, macarg, compare_defs, special_symbol,
+ scan_arguments, stringify, funlike_macroexpand,
+ _cpp_quote_string, monthnames): Delete.
+ (cpp_lookup, _cpp_free_definition, dump_funlike_macro,
+ _cpp_create_definition, _cpp_dump_definition,
+ dump_hash_helper): Adjust.
+ (find_param, count_params, parse_define, var_args_str,
+ check_macro_redefinition, save_expansion): New.
+
+ * cpplex.c (skip_block_comment, skip_line_comment, parse_name,
+ parse_string, output_line_command, trigraph_replace,
+ lex_line, cpp_push_buffer, cpp_pop_buffer, cpp_output_tokens,
+ cpp_scan_buffer_nooutput, cpp_scan_buffer, cpp_free_toklist,
+ cpp_idcmp, _cpp_get_directive_token, _cpp_init_input_buffer,
+ _cpp_skip_rest_of_line): Modify.
+
+ (maybe_macroexpand, skip_comment, copy_comment, skip_string,
+ find_position, null_warning, bump_column, expand_name_space,
+ pedantic_whitespace, _cpp_output_list, _cpp_slice_toklist,
+ _cpp_squeeze_toklist, _cpp_scan_until, _cpp_skip_hspace,
+ _cpp_parse_name, _cpp_lex_token, cpp_get_non_space_token,
+ _cpp_prescan): Delete.
+
+ (dump_param_spelling, process_directive, lex_next,
+ is_macro_disabled, stringify_arg, expand_context_stack,
+ output_token, make_string_token, alloc_number_token,
+ special_symbol, duplicate_token, maybe_paste_with_next,
+ can_paste, prevent_macro_expansion, restore_macro_expansion,
+ get_temp_token, release_temp_tokens, quote_string,
+ token_names, token_spellings, _cpp_expand_name_space,
+ _cpp_glue_header_name, _cpp_reserve_name_space,
+ digraph_spellings, trigraph_ok, skip_whitespace, save_comment,
+ placemarker_token, eof_token, cpp_context, macro_args,
+ get_raw_token, parse_arg, parse_args, save_token,
+ push_arg_context, push_macro_context, pop_context,
+ do_pop_context, free_macro_args, _cpp_get_line,
+ _cpp_run_directive): New.
+
+ * cpplib.c (validate_else, parse_include, push_conditional,
+ pass_thru_directive, read_line_number, parse_ifdef,
+ detect_if_not_defined, _cpp_check_directive, do_define,
+ do_undef, do_include, do_import, do_include_next, do_error,
+ do_warning, do_ident, do_pragma, pragma_dispatch, gcc_pragmas,
+ top_pragmas, do_pragma_gcc, do_pragma_implementation,
+ do_pragma_poison, do_pragma_system_header,
+ do_pragma_dependency, do_sccs, do_ifdef, do_ifndef, do_else,
+ dl_elif, do_endif, _cpp_unwind_if_stack, do_assert,
+ do_unassert, cpp_define, cpp_undef, cpp_assert, cpp_unassert,
+ cpp_defined): Update for new scheme.
+ (strtoul_for_line, get_define_node, dump_macro_name,
+ _cpp_check_linemarker, _cpp_parse_assertion): New.
+ (_cpp_handle_directive, do_pragma_default): Delete.
+
+ * cpphash.h (struct predicate): Now struct answer.
+ (enum spell_type, struct token_spelling, struct directive,
+ directive_handler): New.
+ Update prototypes. Remove unused macros.
+ * cpplib.h: Update prototypes. Remove unused macros,
+ structure definitions, and fields.
+
+ * cpperror.c (print_containing_files, v_message): Adjust.
+ * cppexp.c (parse_assertion, lex, parse_escape,
+ _cpp_parse_expr): Adjust.
+ * cppfiles.c (open_include_file, _cpp_execute_include,
+ _cpp_compare_file_date, cpp_read_file, read_include_file):
+ Adjust.
+ * cppinit.c (dump_special_to_buffer): Delete.
+ (append_include_chain, merge_include_chains, cpp_reader_init,
+ cpp_cleanup, initialize_builtins, builtin_array, cpp_start_read,
+ cpp_finish, handle_option, print_help): Adjust.
+ * cppmain.c (main): Adjust.
+
+2000-07-03 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cppspec.c (lang_specific_driver): Use double quotes in error
+ message.
+
+Mon Jul 3 16:53:43 2000 Clinton Popetz <cpopetz@cygnus.com>
+
+ * calls.c (emit_library_call_value_1): Use valreg instead
+ of hard_libcall_value.
+
+2000-07-03 Geoff Keating <geoffk@cygnus.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_move): New function.
+ * config/rs6000/rs6000-proto.h: Prototype rs6000_emit_move.
+ * config/rs6000/rs6000.md (movsi): Use rs6000_emit_move.
+ (movhi): Likewise.
+ (movqi): Likewise.
+ (movdf): Likewise.
+ (movsf): Likewise.
+ (movdi): Likewise.
+ (movti): Likewise.
+
+ * expmed.c (expand_mult_highpart): Use op1 instead of wide_op1 when
+ mode instead of wider_mode is being used.
+
+2000-07-03 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.md (movstrictqi_xor): Use 'q' constraint instead
+ of 'r'. Use q_regs_operand.
+ (andsi_1+2): Use q_regs_operand.
+
+2000-07-03 Jakub Jelinek <jakub@redhat.com>
+
+ * builtins.c (get_memory_rtx): Always put into alias set 0.
+
+2000-07-03 Nick Clifton <nickc@cygnus.com>
+
+ * config/arm/arm.md: Fix post increment and pre increment
+ peepholes so that they do not generate UNPREDICATBLE opcodes.
+ (ie ones where the increment clobbers the source/destination).
+
+2000-07-01 Marek Michalkiewicz <marekm@linux.org.pl>
+
+ * config/avr/avr.c (out_adj_frame_ptr): Make "frame pointer
+ change too big for -mtiny-stack" a warning, if larger than 63.
+ (out_set_stack_ptr): Change the logic so -mno-interrupts is
+ always safe to use on possible future devices.
+ (function_prologue): Write SPH before SPL, for consistency.
+ If interrupt_func_p true, we know we have enabled interrupts.
+ (avr_num_arg_regs): New function. Round up to even number of
+ bytes if no -mpack-args or if calling a libgcc function.
+ (function_arg, function_arg_advance): Use it.
+ (output_movsisf, ashlsi3_out, ashrsi3_out, lshrsi3_out):
+ Output "movw" if available.
+ (out_tsthi, out_tstsi, ashlqi3_out, lshrqi3_out): Change uses
+ of TEST_HARD_REG_CLASS macro to test_hard_reg_class function.
+ (asm_output_section_name): Add blanks for consistent output.
+ (encode_section_info): Set TREE_READONLY for progmem data to
+ avoid gas warnings about changed section attributes.
+ (avr_hard_regno_mode_ok): Force non-QImode data to start in
+ even numbered registers on devices with "movw".
+ * config/avr/avr.h (MASK_*): Define bits for target_flags.
+ (TARGET_SWITCHES): Mark help strings for translation.
+ Add new -mpack-args and -menhanced switches.
+ (TARGET_OPTIONS): Mark help strings for translation.
+ (progmem_section): Add section attributes.
+ * config/avr/avr.md (*movhi, call_insn, call_value_insn):
+ Output "movw" if available.
+ (mulqi3, mulqihi3, umulqihi3, mulhi3, *tablejump_enh):
+ New patterns.
+ * config/avr/libgcc.S (_mulqi3, _divqi3): Update to the new
+ call convention (arguments aligned on even registers).
+ (_cleanup, _exit): Make weak symbols libc can override.
+
+2000-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * fp-bit.h: New file.
+
+ * fp-bit.c: Move common code, prototypes, etc into fp-bit.h.
+ Comment #endif statements.
+ (__thenan_sf, __thenan_df): Add missing braces around initializer.
+
+Mon Jul 3 00:32:47 2000 Jeffrey A Law (law@cygnus.com)
+
+ * gcse.c (compute_pre_data): Compute ae_kill using other local
+ properties instead of calling compute_ae_kill.
+
+ * alias.c (init_alias_analysis): Do not call
+ prologue_epilogue_contains until after reload has completed.
+
+2000-07-02 Benjamin Chelf <chelf@codesourcery.com>
+
+ * c-common.h (genrtl_begin_compound_stmt): Remove declaration.
+ (genrtl_finish_compound_stmt): Likewise.
+ (genrtl_compound_stmt): Change to return void.
+
+ * c-semantics.c (genrtl_begin_compound_stmt): Remove function and
+ move code from here to ...
+ (genrtl_compound_stmt): ... here.
+ (genrtl_finish_compound_stmt): Remove.
+ (expand_stmt): Add comment.
+
+2000-07-02 Zack Weinberg <zack@wolery.cumb.org>
+
+ * c-typeck.c (build_indirect_ref): Use COMPLETE_OR_VOID_TYPE_P
+ and VOID_TYPE_P.
+
+2000-07-02 Jakub Jelinek <jakub@redhat.com>
+
+ * cpplib.h (struct cpp_reader): New field include_depth.
+ (struct cpp_printer): Rename last_bsd to last_id.
+ * cppfiles.c (read_include_file): Bump include_depth.
+ * cpplex.c (cpp_pop_buffer): Decrement include_depth.
+ (output_line_command): Output correct #line if a header
+ is including itself and is not protected against multiple inclusion.
+ Use include_depth instead of buffer_stack_depth, last_id instead of
+ last_bsd.
+ * cppinit.c (cpp_start_read): Initialize last_id instead of
+ last_bsd.
+
+2000-07-01 Benjamin Chelf <chelf@codesourcery.com>
+
+ * Makefile.in (C_AND_OBJC_OBJS): Added c-semantics.o.
+ (c-semantics.o): New target.
+
+ * c-common.h (TREE_LANG_FLAG_?): Added documentation.
+ (genrtl_do_pushlevel): Moved from cp/cp-tree.h.
+ (genrtl_clear_out_block): Likewise.
+ (genrtl_goto_stmt): Likewise.
+ (genrtl_expr_stmt): Likewise.
+ (genrtl_decl_stmt): Likewise.
+ (genrtl_if_stmt): Likewise.
+ (genrtl_while_stmt): Likewise.
+ (genrtl_do_stmt): Likewise.
+ (genrtl_return_stmt): Likewise.
+ (genrtl_for_stmt): Likewise.
+ (genrtl_break_stmt): Likewise.
+ (genrtl_continue_stmt): Likewise.
+ (genrtl_scope_stmt): Likewise.
+ (genrtl_switch_stmt): Likewise.
+ (genrtl_case_label): Likewise.
+ (genrtl_begin_compound_stmt): Likewise.
+ (gerntl_finish_compound_stmt): Likewise.
+ (genrtl_compound_stmt): Likewise.
+ (genrtl_asm_stmt): Likewise.
+ (genrtl_decl_cleanup): Likewise.
+ (DECL_ANON_UNION_ELEMS): Likewise.
+ (emit_local_var): Likewise.
+ (make_rtl_for_local_static): Likewise.
+ (expand_cond): Likewise.
+ (expand_stmt): Likewise.
+ (c_expand_return): Likewise.
+ (c_expand_start_case): Likewise.
+ (do_case): Likewise.
+ (COMPOUND_STMT_NO_SCOPE): Likewise.
+ (c_expand_asm_operands): Likewise.
+ (NEW_FOR_SCOPE_P): New macro.
+ (expand_expr_stmt_fn): New type.
+
+ (set_current_function_name_declared): Likewise.
+ (current_function_name_declared): Likewise.
+ (lang_expand_stmt): Likewise.
+ (stmts_are_full_exprs_p): Likewise.
+ (anon_aggr_type_p): Likewise.
+ (lang_expand_expr_stmt): Likewise.
+ (build_case_label): Likewise.
+
+ * c-decl.c (lang_expand_expr_stmt): Initialize.
+ (stmts_are_full_exprs_p): Define.
+ (current_function_name_declared): Likewise.
+ (do_case): Likewise.
+ (lang_expand_stmt): Likewise.
+ (set_current_function_name_declared): Likewise.
+ (anon_aggr_type_p): Likewise.
+
+ * c-semantics.c: New file.
+ (expand_cond): Moved from cp/semantics.c.
+ (genrtl_do_pushlevel): Likewise.
+ (genrtl_clear_out_block): Likewise.
+ (genrtl_goto_stmt): Likewise.
+ (genrtl_expr_stmt): Likewise.
+ (genrtl_decl_stmt): Likewise.
+ (genrtl_if_stmt): Likewise.
+ (genrtl_while_stmt): Likewise.
+ (genrtl_do_stmt): Likewise.
+ (genrtl_return_stmt): Likewise.
+ (genrtl_for_stmt): Likewise.
+ (genrtl_break_stmt): Likewise.
+ (genrtl_continue_stmt): Likewise.
+ (genrtl_scope_stmt): Likewise.
+ (genrtl_switch_stmt): Likewise.
+ (genrtl_case_label): Likewise.
+ (genrtl_begin_compound_stmt): Likewise.
+ (genrtl_finish_compound_stmt): Likewise.
+ (genrtl_compound_stmt): Likewise.
+ (genrtl_asm_stmt): Likewise.
+ (genrtl_decl_cleanup): Likewise.
+ (make_rtl_for_local_static): Moved from cp/decl.c.
+ (emit_local_var): Likewise.
+ (expand_stmt): Define.
+
+ * c-tree.h: (c_expand_asm_operands): Moved to c-common.h.
+ (c_expand_return): Likewise.
+ (c_expand_start_case): Likewise.
+
+2000-07-01 Richard Henderson <rth@cygnus.com>
+
+ * config/ia64/ia64.c (symbolic_operand): Reject CONST expressions
+ with the low 13 bits set.
+ (move_operand): Check for CONST|SYMBOL_REF|LABEL_REF directly.
+ * config/ia64/ia64.md (movdi): Likewise. Expand a CONST with one
+ of the low 13 bits into a CONST plus an adddi3.
+ (load_symptr): Set RTX_UNCHANGING_P.
+
+2000-06-30 Mark Mitchell <mark@codesourcery.com>
+
+ * Makefile.in (c-common.o): Don't depend on c-tree.h or c-lex.h.
+ * c-common.c (ridpointers): Declare.
+ * c-common.h (enum rid): Declare.
+ (NORID): Likewise.
+ (ridpointers): Likewise.
+ * c-lex.c (ridpointers): Don't declare.
+ (init_lex): Initialize ridpointers.
+ * c-lex.h (enum rid): Don't declare.
+ (NORID): Likewise.
+ (RID_FIRST_MODIFIER): Likewise.
+ (ridpointers): Likewise.
+
+2000-06-30 J. David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa/som.h (ASM_WEAKEN_LABEL): Export weak data symbols so that they
+ have global scope.
+
+2000-06-30 Martin von Loewis <loewis@informatik.hu-berlin.de>
+
+ * invoke.texi (-Wreturn-type): In C++, a missing return type is
+ always an error.
+
+2000-06-30 Catherine Moore <clm@cygnus.com>
+
+ * c-common.c (decl_attributes): Differentiate between
+ types and type decls for alignment.
+
+2000-06-30 Nathan Sidwell <nathan@codesourcery.com>
+
+ * cpp.texi: Document #pragma GCC dependency
+ * cppfiles.c (open_include_file): Set date to unknown.
+ (_cpp_compare_file_date): New function.
+ (read_include_file): Set file date.
+ * cpphash.h (struct include_file): Add date member.
+ (_cpp_compare_file_date): Prototype.
+ * cpplib.c (parse_include): Add trail parameter. Adjust.
+ (do_include): Adjust parse_include call.
+ (do_import): Likewise.
+ (do_include_next): Likewise.
+ (gcc_pragmas): Add dependency pragma.
+ (do_pragma_dependancy): New pragma.
+
+2000-06-29 Jason Merrill <jason@redhat.com>
+
+ * dwarf2out.c (output_loc_operands): Don't abort on codes that have
+ no operands.
+
+2000-06-29 Jim Wilson <wilson@cygnus.com>
+
+ * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS): Return NO_REGS for
+ a volatile mem and FR_REGS.
+
+2000-06-29 Mark Mitchell <mark@codesourcery.com>
+
+ * c-common.c: Include c-common.h, not c-lex.h or c-tree.h.
+ * c-common.h (flag_const_strings): Declare.
+ (warn_format): Likewise.
+ (flag_traditional): Likewise.
+ (flag_isoc99): Likewise.
+ (warn_parentheses): Likewise.
+ (warn_conversion): Likewise.
+ (C_TYPE_OBJECT_P): Likewise.
+ (C_TYPE_INCOMPLETE_P): Likewise.
+ (C_TYPE_FUNCTION_P): Likewise.
+ (C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
+ (C_EXP_ORIGINAL_CODE): Likewise.
+ (build_unary_op): Likewise.
+ (build_binary_op): Likewise.
+ (lvalue_p): Likewise.
+ (default_conversion): Likewise.
+ (common_type): Likewise.
+ * c-tree.h (C_TYPE_OBJECT_P): Remove.
+ (C_TYPE_INCOMPLETE_P): Likewise.
+ (C_TYPE_FUNCTION_P): Likewise.
+ (C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
+ (C_EXP_ORIGINAL_CODE): Likewise.
+ (common_type): Likewise.
+ (default_conversion): Likewise.
+ (build_binary_op): Likewise.
+ (build_unary_op): Likewise.
+ (lvalue_p): Likewise.
+ (flag_const_strings): Likewise.
+ (warn_format): Likewise.
+ (warn_conversion): Likewise.
+ (flag_traditional): Likewise.
+ (flag_isoc99): Likewise.
+ (warn_parentheses): Likewise.
+
+2000-06-29 James E. Wilson <wilson@cygnus.com>
+
+ * config/ia64/linux.h (LINK_SPEC): Change so.1 to so.2.
+
+ * config/ia64/ia64.h (MODES_TIEABLE_P): Only tie if mode class is the
+ same. Only tie XFmode with XFmode.
+
+2000-06-29 Zack Weinberg <zack@wolery.cumb.org>
+
+ * c-decl.c, timevar.c, tlink.c: Include intl.h.
+ * Makefile.in: Update deps.
+
+2000-06-29 Andrew Haley <aph@cygnus.com>
+
+ * toplev.c (main): On an IA-64, make flag_unwind_tables defauit
+ to true.
+
+2000-06-29 Andrew Haley <aph@cygnus.com>
+
+ * config/ia64/linux.h (JMP_BUF_SIZE): Size is in Pmode units, not
+ bytes: remove the multiply by 8.
+
+2000-06-29 Philipp Thomas <pthomas@suse.de>
+
+ * rtl.c : Revert NLS changes.
+ * gcc.c : Fix bug in display_help introced by my last changes.
+
+Wed Jun 28 21:09:33 2000 Raja R Harinath <harinath@cs.umn.edu>
+
+ * dbxout.c (dbxout_symbol, case RESULT_DECL, VAR_DECL): Use
+ DECL_CONTEXT, not DECL_FIELD_CONTEXT.
+
+2000-06-29 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * flow.c (flow_depth_first_order_compute): Fix algorithm.
+
+2000-06-28 Philipp Thomas <pthomas@suse.de>
+
+ * c-decl.c : Mark strings for translation.
+ (parmlist_tags_warning): Use distinct messages instead
+ of conditional expressions.
+ * diagnostic.c (v_message_with_decl): Mark string for translation.
+ * gcc.c: Mark messages for translation.
+ (display_help): Combine messages into one string where necessary.
+ * mips-tfile: Add intl.h. Mark messages for translation.
+ * rtl.c (fatal_with_file_and_line): Modify function for NLS. Mark
+ messages for translation.
+ * timevar.c: Mark messages for translation.
+ * tlink.c: Likewise.
+ * toplev.c: Likewise.
+
+Wed Jun 28 15:39:26 2000 Donn Terry (donnte@microsoft.com)
+
+ * i386-interix.h (STRIP_NAME_ENCODING): Declare _new_name properly.
+
+ * alpha/alpha-interix.h: Delete redundant -Asystem(interix),
+ use -isystem instead of -idirafter.
+ * i386/i386-interix.h: Likewise.
+
+2000-06-28 Jason Merrill <jason@redhat.com>
+
+ * dwarf2out.c (output_loc_operands): Don't support >1 byte output
+ unless DWARF2_DEBUGGING_INFO is defined.
+ (ASM_OUTPUT_DWARF_*): Wrap normal output defs with #ifndefs.
+
+2000-06-28 Richard Henderson <rth@cygnus.com>
+
+ * config/alpha/alpha.c (summarize_insn): Ignore SCRATCH.
+
+2000-06-28 Jakub Jelinek <jakub@redhat.com>
+
+ * cpplex.c (output_line_command): Output correct #line if a header
+ is including itself and is not protected against multiple inclusion.
+
+2000-06-28 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cppfiles.c (open_include_file): If open(2) returns EMFILE or
+ ENFILE, close all cached file descriptors and try again.
+ (_cpp_execute_include): Keep a count of the number of times
+ each header is included.
+ (close_cached_fd): New function.
+ * cpphash.h (struct include_file): Rename before to
+ include_count; all users updated. Make include_count and sysp
+ unsigned short.
+ * cppinit.c (cpp_finish): If -H, report headers that could use
+ reinclude guards.
+ (report_missing_guard): New function.
+
+Wed Jun 28 14:46:58 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (prologue_set_got): Set length_immediate field.
+ (testqi_ccno_1): Add missing '@' character.
+
+2000-06-27 Jason Merrill <jason@redhat.com>
+
+ * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Use
+ DWARF_FRAME_REGNUM.
+
+2000-06-27 Andrew Macleod <amacleod@cygnus.com>
+
+ * dwarf2out.c (ASM_OUTPUT_DWARF_DATA2): Provide default when no
+ unsigned macros available.
+
+2000-06-27 Richard Henderson <rth@cygnus.com>
+
+ * config/ia64/ia64.c (emit_insn_group_barriers): Special case
+ epilogue_deallocate_stack.
+
+ * config/ia64/ia64.c (ia64_print_operand) [case D]: Emit
+ completers for UNORDERED and ORDERED as well.
+ * config/ia64/ia64.md (bunordered, bordered): New.
+ (sunordered, sordered): New.
+
+Tue Jun 27 12:14:12 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * genattrtab.c (write_attr_value): Do not abort for CONST_INT operands.
+ * i386.c (ix86_attr_length_default): Kill.
+ (ix86_attr_length_immediate_default, ix86_attr_length_address_default):
+ New.
+ * i386-protos.h (ix86_attr_length_default): Kill
+ (ix86_attr_length_immediate_default, ix86_attr_length_address_default):
+ Add prototype
+ * i386.md (attribute type): Add "test".
+ (attribute length_prefix): Kill.
+ (attribute length_opcode): Kill.
+ (attribute i387, mode, length_immediate, length_address, prefix_data16,
+ prefix_rep, prefix_0f, modrm): New.
+ (attribute length): Compute using the new attributes.
+ (attribute pent_prefix): New.
+ (attribute pent_pair): Compute using pent_prefix.
+ (all insn patterns): Set mode,modrm and immediate_length attributes where
+ needed.
+ (cmpsi patterns): Compute sizes propertly for test instruction.
+ (movsi, movhi patterns): Compute sizes propertly for eax shortcuts.
+ (movstricthi_xor, movstrictqi_xor): New patterns.
+ (andsi/andhi): Use splitters to generate xor instructions.
+ (xorqi_ext_1): New pattern.
+ (movstricthi->movstricthi_xor peep2): New.
+
+Tue Jun 27 12:03:03 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (addqi_low_1): Remove.
+
+2000-06-27 Philipp Thomas <pthomas@suse.de>
+
+ * 1750a.h: Mark help strings for options/switches for translation.
+ * a29k.h: Likewise.
+ * alpha.h: Likewise.
+ * arm.h: Likewise.
+ * pe.h: Likewise.
+ * riscix.h: Likewise.
+ * c4x.h: Likewise.
+ * clipper.h: Likewise.
+ * convex.h: Likewise.
+ * elxsi.h: Likewise.
+ * fr30.h: Likewise.
+ * fx80.h: Likewise.
+ * h8300.h: Likewise.
+ * i370.h: Likewise.
+ * cygwin.h: Likewise.
+ * dgux.h: Likewise.
+ * djgpp.h: Likewise.
+ * i386.h: Likewise.
+ * osf1elf.h: Likewise.
+ * osfrose.h: Likewise.
+ * sco5.h: Likewise.
+ * win32.h: Likewise.
+ * i860.h: Likewise.
+ * paragon.h: Likewise.
+ * i960.h: Likewise.
+ * ia64.h: Likewise.
+ * m32r.h: Likewise.
+ * mcore.h: Likewise.
+ * mips.h: Likewise.
+ * mn10300.h: Likewise.
+ * ns32k.h: Likewise.
+ * pdp11.h: Likewise.
+ * pj.h: Likewise.
+ * aix.h: Likewise.
+ * aix41.h: Likewise.
+ * aix43.h: Likewise.
+ * beos.h: Likewise.
+ * rs6000.h: Likewise.
+ * sysv4.h: Likewise.
+ * linux.h: Likewise.
+ * linux64.h: Likewise.
+ * sp64-elf.h: Likewise.
+ * sparc.h: Likewise.
+ * splet.h: Likewise.
+ * v850.h: Likewise.
+ * convex.h (TARGET_SWITCHES): Provide descriptions and mark them
+ for translation.
+ * sp86x-aout.h: Remove bogus first definition of SUBTARGET_SWITCHES.
+ Properly document option and mark for translation.
+ * sp86x-elf.h: Likewise.
+
+2000-06-27 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ Add MMX and SSE registers to i386 machine description.
+ * i386-protos.h (ix86_constant_alignment, ix86_data_alignment,
+ ix86_local_alignment): Declare.
+
+ * i386.h (TARGET_MMX, TARGET_SSE): New.
+ (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
+ REG_ALLOC_ORDER, HARD_REGNO_NREGS, HARD_REGNO_MODE_OK,
+ REG_CLASS_NAMES, REG_CLASS_CONTENTS,REG_CLASS_FROM_LETTER,
+ enum reg_class, HI_REGISTER_NAMES): Added MMX/SSE registers.
+ (FIRST_SSE_REG, LAST_SSE_REG, SSE_REGNO_P): New.
+ (FIRST_MMX_REG, LAST_MMX_REG, MMX_REGNO_P, MMX_REG_P): New macros.
+ (RETURN_IN_MEMORY): Handle MMX/SSE.
+ (REG_PARM_STACK_SPACE): Added so the first three TImode parameters
+ also get stack space.
+ (MUST_PASS_IN_STACK): Added TImode to the default definition.
+ (CUMULATIVE_ARGS): Added sse_nregs, sse_regno and sse_words.
+ (MMX_REGISTER_NAMES): New.
+ (ALIGN_MODE_128): New macro.
+ (CONSTANT_ALIGNMENT): Code moved out-of-line; just call the function.
+ (DATA_ALIGNMENT): Likewise.
+ (LOCAL_ALIGNMENT): Likewise.
+ (CONDITIONAL_REGISTER_USAGE): Make MMX/SSE regs fixed if not
+ TARGET_MMX/TARGET_SSE.
+ (VALID_SSE_REG_MODE, VALID_MMX_REG_MODE): New macros.
+ (REG_CLASS_FROM_LETTER): 'y' for MMX regs.
+ (SECONDARY_MEMORY_NEEDED): Be conservative about copying between
+ SSE/MMX regs and something else.
+ (CLASS_MAX_NREGS): 1 for SSE and MMX regs.
+ (REGISTER_MOVE_COST): 10 if trying to move between MMX and SSE regs,
+ 3 if moving between MMX regs and something else.
+
+ * i386.c (reg_class): Add SSE_REGS, MMX_REGS.
+ (regclass_map): Add MMX/SSE registers.
+ (print_operand): Add code to print XMMWORD as appropriate.
+ (ix86_split_movdi): Abort for MMX regs.
+ (init_cumulative_args): Also allow SSE_REGS
+ (function_arg_advance, function_arg): Likewise
+ (print_reg): Support 'm'. Add case for TImode.
+ (override_options): TARGET_SSE implies TARGET_MMX.
+ (ix86_constant_alignment, ix86_data_alignment, ix86_local_alignment):
+ New functions.
+
+ * config/i386/unix.h (VALUE_REGNO): VECTOR_MODE values go to
+ FIRST_SSE_REG.
+ * config/i386/ptx4-i.h (RETURN_IN_MEMORY): Return MMX values in
+ memory.
+ * config/i386/sysv4.h (RETURN_IN_MEMORY): Likewise.
+ * config/i386/i386elf.h (RETURN_IN_MEMORY): Likewise.
+
2000-06-26 Geoff Keating <geoffk@cygnus.com>
* ssa.c (struct rename_set_data): Change the name of field