+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
+ 'set_dest' to 'old_reg'. Add comments.
+ (struct rename_context): Change the name of 'set_data' to
+ 'new_renames'. Add new field 'done_renames'.
+ (create_delayed_rename): New function.
+ (apply_delayed_renames): New function.
+ (rename_insn_1): Use the new functions. Handle CLOBBERS. Handle
+ SUBREGs and similar by emitting a move.
+ (new_registers_for_updates): Delete, functionality moved to
+ apply_delayed_renames.
+ (rename_block): Handle moves emitted by rename_insn_1 by putting
+ them into a SEQUENCE with the original insn. Add sanity checks
+ and comments.
+ (rename_equivalent_regs_in_insn): Don't handle SUBREGs specially.
+ (rename_equivalent_regs): Expand SEQUENCEs out to individual insns.
+
+2000-06-26 Andrew Macleod <amacleod@cygnus.com>
+ Jason Merrill <jason@redhat.com>
+
+ * dwarf2.h (enum dwarf_call_frame_info): Add
+ DW_CFA_def_cfa_expression.
+ * dwarf2out.c (union dw_cfi_oprnd_struct): Add a pointer to a
+ dw_loc_descr_struct entry.
+ (struct cfa_loc): New structure to track a CFA location.
+ (lookup_cfa): Take a cfa_loc parameter instead of a reg and an offset.
+ (lookup_cfa_1): Take a cfa_loc parameter instead of a reg and an
+ offset, plus handle DW_CFA_def_cfa_expression.
+ (def_cfa_1): Use to be dwarf2out_def_cfa, only now it uses a
+ cfa_loc record.
+ (dwarf2out_def_cfa): Entry point maintained for compatability.
+ (dwarf_cfi_name): Add DW_CFA_def_cfa_expression.
+ (cfa_reg, cfa_offset): Replace with cfa_loc record 'cfa'.
+ (cfa_store_reg, cfa_store_offset): Replace with cfa_loc 'cfa_store'.
+ (initial_return_save, dwarf2out_stack_adjust): Use cfa.reg, not
+ cfa_reg.
+ (dwarf2out_frame_debug_expr): Use new cfa_loc records. Recognize rtl
+ sequences for the new DW_CFA_def_cfa_expression record.
+ (dwarf2out_frame_debug): Use new variables/fields.A
+ (output_cfi): Handle DW_CFA_def_cfa_expression.
+ (output_cfa_loc): New function to generate a CFI record for
+ DW_CFA_def_cfa_expression.
+ (get_cfa_from_loc_descr): New function to get a cfa_loc record from
+ a dw_loc_descr sequeunce.
+ (build_loc_descr): Build a dw_loc_descr from a cfa_loc record.
+ (dwarf_stack_op_name, new_loc_descr, add_loc_descr, size_of_loc_descr,
+ size_of_locs, output_loc_operands, output_loc_sequence): Move into
+ unwind info section.
+ * frame.h (frame_state): Add base_offset and indirect fields.
+ * frame-dwarf2.c (decode_stack_op): New function to interpret a
+ dw_loc_descr operation.
+ (execute_cfa_insn): Add support for DW_CFA_def_cfa_expression.
+ (struct frame_state): Add base offset and indirect fields.
+ * libgcc2.c (next_stack_level): Support indirect loading for CFA.
+
+2000-06-26 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-decl.c (grokdeclarator): Don't warn about `long long' in C99.
+ Make warnings about implicit int be pedwarns in C99. Don't warn
+ about duplicate type qualifiers in C99.
+ (start_function): Make warning about implict int return type be a
+ pedwarn in C99.
+ * c-lex.c (yylex): Don't warn about `long long' in C99.
+ * c-typeck.c (c_expand_return): In C99, always pedwarn about
+ `return' with no value in function returning non-void.
+
+2000-06-26 Richard Henderson <rth@cygnus.com>
+
+ * c-typeck.c (pedwarn_c99): New.
+ * diagnostic.c (verror, vwarning, vpedwarn): Export.
+ * toplev.h: Prototype them.
+
+2000-06-26 J. David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * c-typeck.c (digest_init): Return error_mark_node node when
+ TREE_TYPE (init) == error_mark_node.
+
+2000-06-26 Philipp Thomas <pthomas@suse.de>
+
+ * aclocal.m4 (AM_WITH_NLS): Don't set MSGFMT or GMSGFMT to no,
+ test for msgfmt without path instead.
+ * configure: Rebuilt.
+
+2000-06-25 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
+
+ * gengenrtl.c (special_rtx): Fix typo in comment.
+
+2000-06-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * mklibgcc.in (LIB2FUNCS): Add missing space.
+
2000-06-24 Bernd Schmidt <bernds@cygnus.co.uk>
* tree.h (enum tree_index): Add vector type nodes.
2000-06-25 John David Anglin <dave.anglin@nrc.ca>
- * config/vax/vax.h (TARGET_SWITCHES): Provide descriptions.
+ * config/vax/vax.h (TARGET_SWITCHES): Provide descriptions.
2000-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2000-06-24 Marc Espie <espie@cvs.openbsd.org>
- * collect2.c (resolve_lib_name): Move '/' check to more rational place.
+ * collect2.c (resolve_lib_name): Move '/' check out of loop.
2000-06-24 Dirk Duellmann <Dirk.Duellmann@cern.ch>