OSDN Git Service

* i386.md (addqi_low_1): Remove.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index b769598..58d5b60 100644 (file)
@@ -1,3 +1,203 @@
+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>