OSDN Git Service

* arm.h (EXTRA_CONSTRAINT_STR_ARM): Update comment.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 70c720c..757d762 100644 (file)
@@ -1,3 +1,97 @@
+2004-03-14  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.h (EXTRA_CONSTRAINT_STR_ARM): Update comment.
+
+2004-03-13  Dara Hazeghi  <dhazeghi@yahoo.com>
+
+       * doc/install.texi: Note status of -fnew-ra.
+
+2004-03-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR middle-end/14470
+       * expr.c (store_expr): Call emit_queue before generating the move
+       from the temporary to the original target.  Protect the temporary
+       from emit_queue.
+
+2004-03-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/14533
+       * config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC
+       other than UNSPEC_GOTOFF.
+
+2004-03-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (arm_legitimate_address_p): New argument, OUTER.  Pass through
+       to arm_legitimate_index_p.  Update all callers with SET as default
+       value.
+       (arm_legitimate_index_p): New argument, OUTER.  Restrict the index
+       range if OUTER is a sign-extend operation on QImode.  Correctly
+       reject shift operations on sign-extended QImode addresses.
+       (bad_signed_byte_operand): Delete.
+       (arm_extendqisi_mem_op): New function.
+       * arm.h (EXTRA_CONSTRAINT_ARM): Delete.  Replace with...
+       (EXTRA_CONSTRAINT_STR_ARM): ... this.  Handle extended address
+       constraints.
+       (CONSTRAINT_LEN): New.
+       (EXTRA_CONSTRAINT): Delete.  Replace with...
+       (EXTRA_CONSTRAINT_STR): ... this.
+       (PREDICATE_CODES): Remove bad_signed_byte_operand.
+       * arm.md (extendqihi_insn): Use new constraint Uq.  Rework.  Length
+       is now always default.
+       (define_splits for bad sign-extend loads): Delete.
+       (arm_extendqisi, arm_extendqisi_v5): Likewise.
+       * arm/vfp.md (arm_movsi_vfp, arm_movdi_vfp, movsf_vfp, movdf_vfp):
+       Rework 'U' constraint to 'Uv'.
+       * arm-protos.h: Remove bad_signed_byte_operand.  Add
+       arm_extendqisi_mem_op.
+       * doc/md.texi (ARM constraints): Rename VFP constraint (now Uv).
+       Add Uq constraint.
+
+2004-03-13  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (rs6000_va_arg): Replace SPLIT_COMPLEX_ARGS
+       with targetm version.
+
+       PR target/14567
+       * config/rs6000/rs6000.h (UNITS_PER_ARG, RS6000_ARG_SIZE): Delete.
+       (HARD_REGNO_MODE_OK): Disallow TFmode for fp31.
+       * config/rs6000/rs6000.c (rs6000_arg_size): New function.
+       Update all users of RS6000_ARG_SIZE.
+       (function_arg_advance): Count fregno using mode size.
+       (function_arg): Handle long double split over regs and memory.
+       (function_arg_partial_nregs): Likewise.
+       (rs6000_va_arg): Repackage complex args.
+
+2004-03-13  Dean Ferreyra <dferreyra@igc.org>
+
+       PR target/14047
+       * config/avr/avr.c (avr_progmem_p): Add "attributes" parameter.
+       (avr_insert_attributes): Pass "attributes" to avr_progmem_p.
+       * config/avr/avr-protos.h (avr_progmem_p): Change prototype.
+
+2004-03-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Add
+       prototype.
+       * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): New.
+       * config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Define.
+
+2003-03-12  Andrew Pinski  <apinski@apple.com>
+
+       * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
+       Use ret instead of result. Use addr instead of base.
+
+2004-03-12  David Edelsohn  <edelsohn@gnu.org>
+
+       * doc/install.texi (*-ibm-aix*): Document assembler and achiver
+       fixes required by libstdc++ and update installation instructions
+       for libstdc++.a.
+
+2004-03-12  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config/i386/winnt.c (i386_pe_strip_name_encoding_full): Strip
+       leading '@' on fastcall symbols before stripping suffix.
+
 2004-03-12  Roger Sayle  <roger@eyesopen.com>
 
        * combine.c (unmentioned_reg_p): New function to check whether an
        that corresponds to this FDE.
        (FRAME_BEGIN_LABEL): Allow target to override default label.
        (output_call_frame_info): If FDEs are linknonce, then use extra
-       indirection for FDE encoding, output a label for each FDE, and 
+       indirection for FDE encoding, output a label for each FDE, and
        output an empty label for each function without an FDE.
        (dwarf2out_begin_prologue): Set up decl field when creating an FDE.
        * varasm.c (globalize_decl): Call ASM_MAKE_LABEL_LINKONCE for
        * target.h (struct gcc_target): Move calls substructure before
        booleans.  Add split_complex_arg.
        * function.c (assign_parms, split_complex_args): Use it.
-        * calls.c (expand_call): Likewise.
-        (split_complex_values): Likewise.  Check for splittable types
-        before allocating memory.
-        (split_complex_types): Likewise.
+       * calls.c (expand_call): Likewise.
+       (split_complex_values): Likewise.  Check for splittable types
+       before allocating memory.
+       (split_complex_types): Likewise.
        * system.h (SPLIT_COMPLEX_ARGS): Poison.
        * expr.h (SPLIT_COMPLEX_ARGS): Remove.
        * target-def.h (TARGET_SPLIT_COMPLEX_ARG): New.
        (set_frame_base_location): Unshare variable if needed.
        (set_variable_part): Init the refcount of new variable.
        Unshare the variables if needed.
-       (delete_variable_part): Unshare the variables if needed. 
+       (delete_variable_part): Unshare the variables if needed.
        (emit_notes_for_differences_1): Init the refcount of new variable.
        (vt_add_function_parameters): Do not add function parameters to
        IN set of ENTRY_BLOCK_PTR because it is unused anyway.
        and gt_pch_use_address.
        * config/host-linux.c, config/host-solaris.c: New files.
        * config/x-linux, config/x-solaris: New files.
-       * config/rs6000/host-darwin.c darwin_rs6000_gt_pch_get_address): 
+       * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_get_address): 
        Update for changed definition.
        (darwin_rs6000_gt_pch_use_address): Likewise.
        * doc/hostconfig.texi: Update docs.
        PR bootstrap/12371
        * config/m68k/m68k.h (FIXED_REGISTERS): Add arg pointer.
        (CALL_USED_REGISTERS): Likewise.
-        (REG_CLASS_CONTENTS): Likewise.
+       (REG_CLASS_CONTENTS): Likewise.
        (REG_ALLOC_ORDER): New.
        (REGNO_REG_CLASS): Use regno_reg_class.
        * config/m68k/m68k.c: Add regno_reg_class array.
 
        * toplev.c (dump_file_tbl): Rename from dump_file.
        * bb-reorder.c, bt-load.c, cfgcleanup.c, cfglayout.c, cfgloopanal.c,
-       cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c,
+       cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c,
        config/i386/i386.c, config/ia64/ia64.c, config/mips/mips.c,
        config/sh/sh.c, cse.c, flow.c, ifcvt.c, loop-iv.c, loop-unroll.c,
        loop-unswitch.c, output.h, predict.c, profile.c, ra-build.c,
 
 2004-01-31  Paolo Bonzini  <bonzini@gnu.org>
 
-       * combine.c (cse_main): Set gen_lowpart to gen_lowpart_for_combine
+       * combine.c (cse_main): Set gen_lowpart to gen_lowpart_for_combine
        and restore it to gen_lowpart_general on exit.
        (gen_lowpart_for_combine): Adjust all callers to go through
        gen_lowpart.
 
        * fixinc/inclhack.def (alpha___extern_prefix,
        alpha___extern_prefix_standards): New hacks to obey
-       __PRAGMA_EXTERN_PREFIX.
+       __PRAGMA_EXTERN_PREFIX.
        * fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New
        test.
        * fixinc/tests/base/standards.h: Likewise.