OSDN Git Service

* lower-subreg.c: Include except.h.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index d4ae2b5..d6e748d 100644 (file)
@@ -1,3 +1,485 @@
+2007-03-11  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * lower-subreg.c: Include except.h.
+       (decompose_multiword_subregs): Verify that the only control flow
+       insns we can split are loads to multi-words pseudos.
+       Handle breaking such blocks after splitting, instead of calling
+       find_many_sub_basic_blocks.
+
+       * loop-unroll.c (split_edge_and_insert): Don't set BB_SUPERBLOCK
+       on the new basic block.  Add a lengthy comment explaining why we
+       thought this was necessary.
+       * cfglayout.c (cfg_layout_finalize): Don't break superblocks.
+
+2007-03-10  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/30924
+       * tree.c (walk_type_fields): Recurse into the element type of
+       ARRAY_TYPEs if there is a pointer set.
+
+2007-03-10  Dirk Mueller  <dmueller@suse.de>
+
+       * c-common.c (warn_logical_operator): Fix condition.
+
+2007-03-10  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       * config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Add missing
+       quotation mark.
+       * config/darwin.c (machopic_select_section): Remove superfluous
+       argument in call to categorize_decl_for_section.  Remove unused
+       variable shlib.
+
+2007-03-10  Joseph Myers  <joseph@codesourcery.com>
+
+       * configure.ac (glibc_header_dir): Set using with_build_sysroot if
+       defined.
+       * configure: Regenerate.
+
+2007-03-10  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/31101
+       * config/i386/i386.md (UNSPEC_C2_FLAG): New constant.
+       (fpremxf4_i387, fprem1xf4_i387): Use UNSPEC_C2_FLAG.
+       (fmodxf3, fmod<mode>3, remainderxf3, remainder<mode>3):
+       Add LABEL_NUSES to emmitted label.
+       * config/i386/i386.c (ix86_emit_fp_unordered_jump): Add
+       branch probability value to emmitted jump insn.
+       * reg-stack.c (subst_stack_regs_pat)[UNSPEC]: Handle UNSPEC_C2_FLAG.
+       Do not check life information and do not re-arrange input operands
+       for UNSPEC_FSCALE_EXP, UNSPEC_FPREM_U and UNSPEC_FPREM1_U.
+
+2007-03-10  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (sh_insn_length_adjustment): Adjust for
+       the change of decode_asm_operands.
+
+2007-03-10  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * mode-switching.c (create_pre_exit): Skip blockage insn.
+
+2007-03-09  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-pass.h (TODO_update_smt_usage): Remove.
+       Update all users.
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Remove
+       argument SOME.
+       Update all users.
+
+2007-03-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.c (attr_length_call): Revise condition for long pc-relative branch.
+       (output_call): Use "LONG_PIC_SDIFF" instruction sequence for long local
+       calls on the SOM target.  Don't use "LONG_PIC_PCREL" call sequence on
+       SOM target.
+
+2007-03-09  Geoffrey Keating  <geoffk@apple.com>
+
+       * gcc.c: Document %{, in big comment at top.
+       (input_suffix_matches): Remove special handling for .s and
+       .S.
+       (input_spec_matches): New.
+       (handle_braces): Handle %{,.
+       (validate_switches): ',' indicates a value which is not a switch.
+       * config/alpha/osf.h (ASM_FINAL_SPEC): Use %{, rather than %{.
+       to detect assembler input.
+       * config/i386/sol2.h (CPP_SPEC): Likewise.
+       * config/rs6000/sysv4.h (ASM_SPEC): Likewise.
+       * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
+       * config/rs6000/lynx.h (ASM_SPEC): Likewise.
+       * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
+       * config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Objective-C plus
+       -m64 causes deployment target to default to 10.5.
+       * config/rs6000/darwin.h (DARWIN_MINVERSION_SPEC): Likewise.
+
+2007-03-09  Richard Henderson  <rth@redhat.com>
+
+       PR target/26090
+       * target.h (targetm.asm.out.reloc_rw_mask): New.
+       * target-def.h (TARGET_ASM_RELOC_RW_MASK): New.
+       (TARGET_ASM_OUT): Use it.
+       * targhooks.c, targhooks.h (default_reloc_rw_mask): New.
+       * varasm.c (categorize_decl_for_section): Remove shlib argument;
+       use the new reloc_rw_mask target hook instead.
+       (default_section_type_flags_1): Merge into...
+       (default_section_type_flags): ... here.
+       (decl_readonly_section_1): Merge into...
+       (decl_readonly_section): ... here.
+       (default_elf_select_section_1): Merge into...
+       (default_elf_select_section): ... here.
+       (default_unique_section_1): Merge into...
+       (default_unique_section): ... here.
+       (compute_reloc_for_rtx_1, compute_reloc_for_rtx): New.
+       (default_select_rtx_section): Use it.
+       (default_elf_select_rtx_section): Likewise.
+       * output.h: Update to match.
+       * doc/tm.texi (TARGET_ASM_RELOC_RW_MASK): New.
+       * config/alpha/alpha.c (alpha_elf_reloc_rw_mask): New.
+       (TARGET_ASM_RELOC_RW_MASK): New.
+       * config/i386/i386.c (x86_64_elf_select_section): Adjust call
+       to categorize_decl_for_section.
+       (x86_64_elf_unique_section): Likewise.
+       * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
+       TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Remove.
+       (TARGET_ASM_RELOC_RW_MASK): New.
+       * config/ia64/ia64.c (ia64_rwreloc_select_section,
+       ia64_rwreloc_unique_section, ia64_rwreloc_select_rtx_section): Remove.
+       (ia64_hpux_reloc_rw_mask, ia64_reloc_rw_mask): New.
+       (TARGET_RWRELOC): Remove.
+       (ia64_section_type_flags): Adjust call to default_section_type_flags.
+       * config/ia64/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
+       * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Remove.
+       (rs6000_elf_select_section, rs6000_elf_unique_section): Remove.
+       (rs6000_elf_reloc_rw_mask, rs6000_xcoff_reloc_rw_mask): New.
+       (rs6000_xcoff_select_section): Use decl_readonly_section.
+       (rs6000_xcoff_section_type_flags): Use default_section_type_flags.
+       * config/rs6000/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
+       (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): Remove.
+       (TARGET_SECTION_TYPE_FLAGS): Remove.
+       * config/rs6000/xcoff.h (TARGET_ASM_RELOC_RW_MASK): New.
+
+2007-03-09  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (fold_comparison): Remove compile-time evaluation of
+       complex constant equality/inequality comparisons for here.
+       (fold_binary) <EQ_EXPR>: Simplify complex comparisons that are
+       known at compile-time or can be simplified to a scalar comparison.
+       (fold_relational_const): Move compile-time evaluation of complex
+       constant equality/inequality comparisons to here.
+
+2007-03-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR rtl-optimization/30643
+       * cse.c (cse_insn): Recompute dest_hash after insert_regs for
+       dest_addr_elt.
+       (fold_rtx): Recurse, like before 2006-11-03.
+
+2007-03-09  DJ Delorie  <dj@redhat.com>
+
+       * config/m32c/t-m32c (m32c-pragma.o): Add TM_H dependency to
+       m32c-pragma.o.
+
+2007-03-09  Aldy Hernandez  <aldyh@redhat.com>
+
+        PR tree-optimization/30375
+        * tree-ssa-dse.c (dse_possible_dead_store_p): Do not eliminate if
+        LHS of statements is not the same.
+        * testsuite/gcc.dg/tree-ssa/ssa-dse-10.c: New.
+
+2007-03-09  Chao-ying Fu  <fu@mips.com>
+
+       * doc/extend.texi (MIPS DSP Built-in Functions): Document the DSP
+       REV 2.
+       * doc/invoke.texi (-mdspr2): Document new option.
+       * config/mips/mips.md (UNSPEC_ABSQ_S_QB .. UNSPEC_DPSQX_SA_W_PH):
+       New unspec for DSP REV 2.
+       (<u>mulsidi3_32bit_internal): Check if !TARGET_DSPR2, because
+       these instructions are extended in DSP REV 2.
+       (mips-dspr2.md): Include.
+       * config/mips/mips.opt (mdspr2): New option.
+       * config/mips/mips.c (mips_function_type): Add MIPS_V4QI_FTYPE_V4QI,
+       MIPS_SI_FTYPE_SI_SI_SI, MIPS_DI_FTYPE_DI_USI_USI, MIPS_DI_FTYPE_SI_SI,
+       MIPS_DI_FTYPE_USI_USI, MIPS_V2HI_FTYPE_SI_SI_SI.
+       (override_options): Check TARGET_DSPR2 to enable MASK_DSP.
+       (CODE_FOR_mips_mul_ph): Define it to CODE_FOR_mulv2hi3.
+       (dsp_bdesc): Add DSP REV 2 builtins.  Remove 32-bit only DSP builtins.
+       (dsp_32only_bdesc): New description table for 32-bit only DSP REV 1
+       and 2 builtins.
+       (bdesc_map): Add one field of unsupported_target_flags.
+       (bdesc_arrays):  Update entries to have extra fields.  Add
+       dsp_32only_bdesc.
+       (mips_init_builtins): Initialize new function types.
+       Check unsupported_target_fileds to filter out builtins.
+       * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_dspr2 if
+       TARGET_DSPR2.
+       (ASM_SPEC): Pass mdspr2 to the assembler.
+       * config/mips/mips-dspr2.md: New file.
+
+2007-03-09  Sa Liu  <saliu@de.ibm.com>
+
+       * config/rs6000/altivec.md: Fix vcond patterns using if_then_else.
+
+2007-03-09  Ian Lance Taylor  <iant@google.com>
+
+       * opts.c (common_handle_option): Treat -Wstrict-overflow (with no
+       argument) like -Wstrict-overflow=2.
+       * doc/invoke.texi (Warning Options): Update documentation.
+
+2007-03-09  Dirk Mueller  <dmueller@suse.de>
+
+       PR c++/17946
+       * doc/invoke.texi (-Wlogical-op): Document.
+       * common.opt (-Wlogical-op): New.
+       * c-common.h (warn_logical_operator): Declare.
+       * c-common.c (warn_logical_operator): Define.
+       * c-typeck.c (parser_build_binary_op): Call
+       warn_logical_operator.
+
+2007-03-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       * rtl.h (gen_rtx_ASM_INPUT): Use "" instead of NULL file name.
+       * final.c (final_scan_insn): Test for non-"" file name.
+
+2007-03-09  Sebastian Pop  <sebastian.pop@inria.fr>
+
+       * doc/loop.texi: Document the Omega linear constraints solver.
+       * doc/invoke.texi: Document -fcheck-data-deps, omega-max-vars,
+       omega-max-geqs, omega-max-eqs, omega-max-wild-cards, 
+       omega-hash-table-size, omega-max-keys, and 
+       omega-eliminate-redundant-constraints.
+       * tree-pass.h (pass_check_data_deps): Declared.
+       * omega.c: New.
+       * omega.h: New.
+       * timevar.def (TV_CHECK_DATA_DEPS): Declared.
+       * tree-ssa-loop.c (check_data_deps, gate_check_data_deps, 
+       pass_check_data_deps): New.
+       * tree-data-ref.c (init_data_ref): Remove declaration.
+       (dump_data_dependence_relation): Dump DDR_INNER_LOOP.
+       (analyze_array): Renamed init_array_ref, move up initializations.
+       (init_data_ref): Renamed init_pointer_ref.  Moved before its call.
+       Removed arguments that are set to NULL.
+       (analyze_indirect_ref): Correct indentation, correct call to 
+       init_pointer_ref.
+       (object_analysis): Call init_array_ref instead of analyze_array.
+       (initialize_data_dependence_relation): Initialize DDR_INNER_LOOP.
+       (access_functions_are_affine_or_constant_p): Use DR_ACCESS_FNS instead
+       of DR_ACCESS_FNS_ADDR.
+       (init_omega_eq_with_af, omega_extract_distance_vectors, 
+       omega_setup_subscript, init_omega_for_ddr_1, init_omega_for_ddr,
+       ddr_consistent_p): New.
+       (compute_affine_dependence): Check consistency of ddrs when 
+       flag_check_data_deps is passed.
+       (analyze_all_data_dependences): Uncomment.
+       (tree_check_data_deps): New.
+       * tree-data-ref.h: Include omega.h.
+       (DR_ACCESS_FNS_ADDR): Removed.
+       (data_dependence_relation): Add inner_loop.
+       (DDR_INNER_LOOP): New.
+       * common.opt (fcheck-data-deps): New.
+       * tree-flow.h (tree_check_data_deps): Declare.
+       * Makefile.in (TREE_DATA_REF_H): Depend on omega.h.
+       (OBJS-common): Depend on omega.o.
+       (omega.o): Define.
+       * passes.c (pass_check_data_deps): Scheduled.
+       * params.def (PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS, 
+       PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS,
+       PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS,
+       PARAM_VECT_MAX_VERSION_CHECKS,
+       PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS): New.
+
+2007-03-09  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/30904
+       PR middle-end/31058
+       * tree-vrp.c (extract_range_from_binary_expr): Handle RSHIFT_EXPR
+       the same way as *_DIV_EXPR.
+
+2007-03-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       * recog.c (decode_asm_operands): No mixed declarations and code.
+
+2007-03-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       * rtl.def (ASM_INPUT): Add location.
+       * rtl.h (ASM_INPUT_SOURCE_LOCATION): New.
+       (ASM_INPUT_SOURCE_FILE, ASM_INPUT_SOURCE_LINE): New.
+       (decode_asm_operands): Add loc operand.
+       (gen_rtx_ASM_INPUT, gen_rtx_ASM_INPUT_loc): Define.
+       * stmt.c (expand_asm): Rename to...
+       (expand_asm_loc): ... this.  Add locus argument.  Pass it on to
+       gen_rtx_ASM_INPUT_loc.
+       (expand_asm_expr): Adjust.
+       * recog.c (decode_asm_operands): Add loc operand.
+       (check_asm_operands, extract_insn): Adjust.
+       * reload1.c (maybe_fix_stack_asms): Likewise.
+       * final.c (asm_insn_count): Likewise.
+       (final_scan_insn): Output # line before and after asm.
+
+2007-03-09  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-structalias.c (variable_info): Remove
+       finished_solution.
+       (new_var_info): Ditto.
+       (shared_bitmap_info_t): New structure.
+       (shared_bitmap_table): New variable.
+       (shared_bitmap_hash): New function.
+       (shared_bitmap_eq): Ditto
+       (shared_bitmap_lookup): Ditto.
+       (shared_bitmap_add): Ditto.
+       (merge_smts_into): Change to take bitmap directly.
+       (find_what_p_points_to): Rewrite to use shared bitmap hashtable.
+       (init_alias_vars): Init shared bitmap hashtable.
+       (delete_points_to_sets): Delete shared bitmap hashtable.
+       * tree-ssa-operands.c (add_virtual_operand): Partially revert the
+       is_aliased removal as a change that was still necessary was
+       deleted.
+
+2007-03-09  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (override_options): Conditionally disable
+       x86_sahf for 64bit targets only.
+
+2007-03-08  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR C/31072
+       * c-decl.c (merge_decls): Don't call make_var_volatile.
+       * varasm.c (make_var_volatile): Remove.
+       * output.h (make_var_volatile): Remove.
+
+2007-03-08  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/31085
+       * tree-ssa-address.c (create_mem_ref): Fix test of type of base.
+
+2007-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.def (lceil, lceilf, lceill, lfloor, lfloorf, lfloorl,
+       llceil, llceilf, llceill, llfloor, llfloorf, llfloorl): Mark with
+       ATTR_CONST_NOTHROW_LIST.
+       
+       * fold-const.c (tree_expr_nonnegative_warnv_p): Handle
+       FIX_TRUNC_EXPR.
+
+2007-03-08  Diego Novillo  <dnovillo@redhat.com>
+
+       * doc/tree-ssa.texi: Remove documentation for V_MUST_DEF.
+
+2007-03-08  Geoffrey Keating  <geoffk@apple.com>
+
+       PR 31013
+       * gccspec.c (lang_specific_driver): Do nothing when NEXT_OBJC_RUNTIME
+       is declared.
+       * config/darwin.h (REAL_LIBGCC_SPEC): When -fgnu-runtime is
+       passed, use shared libgcc.
+
+2007-03-08  Roger Sayle  <roger@eyesopen.com>
+
+       * tree-eh.c (do_return_redirection): Call build_gimple_modify_stmt
+       instead of calling build2 with a GIMPLE_MODIFY_STMT.
+       (honor_protect_cleanup_actions, lower_try_finally_switch):
+       Likewise.
+       * tree-if-conv.c (replace_phi_with_cond_gimple_modify_stmt,
+       ifc_temp_var): Likewise.
+       * tree-inline.c (setup_one_parameter): Likewise.
+       * tree-mudflap.c (mf_decl_cache_locals,
+       mf_build_check_statement_for): Likewise.
+       * tree-nested.c (init_tmp_var, save_tmp_var,
+       finalize_nesting_tree_1): Likewise.
+       * tree-outof-ssa.c (insert_copy_on_edge,
+       insert_backedge_copies): Likewise.
+       * tree-profile.c (tree_gen_edge_profiler,
+       tree_gen_ic_profiler): Likewise.
+       * tree-scalar-evolution.c (scev_const_prop): Likewise.
+       * tree-sra.c (sra_build_assignment): Likewise.
+       * tree-ssa-loop-im.c (determine_invariantness_stmt): Likewise.
+       * tree-ssa-math-opts.c (insert_reciprocals,
+       execute_cse_sincos_1): Likewise.
+       * tree-tailcall.c (adjust_accumulator_values,
+       adjust_return_value): Likewise.
+       * tree-vect-patterns.c (vect_pattern_recog_1): Likewise.
+       * tree-vect-transform.c (vect_create_data_ref_ptr,
+       bump_vector_ptr, vect_init_vector, get_initial_def_for_induction,
+       vect_create_epilog_for_reduction, vectorizable_reduction,
+       vectorizable_call, vectorizable_conversion,
+       vectorizable_assignment, vectorizable_operation,
+       vectorizable_type_demotion, vect_gen_widened_results_half,
+       vect_permute_store_chain, vectorizable_store,
+       vect_setup_realignment, vect_permute_load_chain,
+       vectorizable_load, vectorizable_condition,
+       vect_create_cond_for_align_checks): Likewise.
+       * tree-vrp.c (build_assert_expr_for): Likewise.
+
+2007-03-08  Ian Lance Taylor  <iant@google.com>
+
+       * tree-vrp.c: Include "intl.h".
+       (usable_range_p): New static function.
+       (compare_values_warnv): Don't test TYPE_OVERFLOW_UNDEFINED for
+       overflowed values, juts set *strict_overflow_p.
+       (compare_values): Only return -2 if one of the operands is not a
+       constant.
+       (compare_ranges): Call usable_range_p.
+       (compare_range_with_value): Likewise.
+       (vrp_evaluate_conditional_warnv): Rename from
+       vrp_evaluate_conditional.  Make static.  Change all callers.
+       (vrp_evaluate_conditional): New function.
+       (simplify_div_or_mod_using_ranges): Issue warning about reliance
+       on signed overflow.
+       (simplify_abs_using_ranges): Likewise.
+       (simplify_stmt_for_jump_threading): Add within_stmt parameter.
+       * tree-ssa-dom.c (simplify_stmt_for_jump_threading): Add
+       within_stmt parameter.
+       * tree-ssa-propagate.c (fold_predicate_in): Update call to
+       vrp_evaluate_conditional.
+       * tree-ssa-threadedge.c
+       (record_temporary_equivalences_from_stmts_at_dest): Change
+       simplify parameter to take a second tree parameter.
+       (simplify_control_stmt_condition): Likewise.
+       (thread_across_edge): Likewise.
+       * tree-flow.h (vrp_evaluate_conditional): Update declaration.
+       (thread_across_edge): Likewise.
+       * gcc/Makefile.in (tree-vrp.o): Depend upon intl.h.
+
+2007-03-08  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (TARGET_SAHF): New define.
+       * config/i386/i386.c (ix86_tune_features) [X86_TUNE_USE_SAHF]:
+       Also enable for m_K8, m_AMDFAM10 and m_CORE2.
+       (x86_sahf): New global variable.
+       (override_options): Add PTA_NO_SAHF to pta_flags enum.  Recode
+       pta_flags masks using shifts.  Add PTA_NO_SAHF to x86_64 and
+       nocona processor flags.  Set x86_sahf when PTA_NO_SAHF is not set
+       in processor flags.  Do not unconditionally disable TARGET_USE_SAHF
+       for 64-bit.
+       (ix86_fp_comparison_sahf_cost): Return high value for !TARGET_SAHF.
+       (ix86_expand_fp_compare): Check for TARGET_CMOVE or TARGET_SAHF
+       when expanding fcomi/sahf based tests.
+       (ix86_emit_fp_unordered_jump): Check for TARGET_SAHF when
+       expanding sahf based alternative. Emit sahf based sequence when
+       optimizing for code size.
+       * config/i386/i386.md (x86_sahf_1): Do not disable for
+       TARGET_64BIT, enable for TARGET_SAHF. 
+
+2007-03-08  Martin Michlmayr  <tbm@cyrius.com>
+
+       * tree-ssa-coalesce.c (fail_abnormal_edge_coalesce): Remove
+       spurious whitespace from error message.
+
+2007-03-08  Volker Reichelt  <reichelt@netcologne.de>
+
+       PR c++/30852
+       * c-common.c (fold_offsetof_1): Handle COMPOUND_EXPR.
+
+2007-03-08  Alexandre Oliva  <aoliva@redhat.com>
+
+       * c-decl.c (grokdeclarator): Disable warnings for anonymous
+       bitfields.
+       * tree-sra.c (instantiate_element): Propagate disabled warnings
+       from the element itself to the created variable.
+
+2007-03-07  Richard Henderson  <rth@redhat.com>
+
+       PR target/30848
+       * reg-stack.c (emit_swap_insn): If a malformed asm was seen,
+       silently fix up the stack in the case of a missing register.
+
+2007-03-07  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/libunwind.S: Add .arch/.object_arch for armv4 builds.
+
+2007-03-07  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/arm/unwind-arm.c (struct wmmxd_regs, struct wmmxc_regs):
+       New.
+       (phase1_vrs): Use them.
+       (DEMAND_SAVE_WMMXD, DEMAND_SAVE_WMMXC): New.
+       (__gnu_Unwind_Save_WMMXD, __gnu_Unwind_Restore_WMMXD,
+       __gnu_Unwind_Save_WMMXC, __gnu_Unwind_Restore_WMMXC): Declare.
+       (restore_non_core_regs): Call __gnu_Unwind_Restore_WMMXD and
+       __gnu_Unwind_Restore_WMMXC if required.
+       (_Unwind_VRS_Pop): Implement iWMMXt support.
+       * config/arm/libunwind.S (gnu_Unwind_Restore_WMMXD,
+       gnu_Unwind_Save_WMMXD, gnu_Unwind_Restore_WMMXC,
+       gnu_Unwind_Save_WMMXC): Define.
+
 2007-03-07  Richard Sandiford  <richard@codesourcery.com>
 
        * config/vxworks.h (vxworks_override_options): Declare.
        (m68k_matches_u_p): New functions.
        (print_operand_address): Rewrite to use m68k_decompose_index.
 
-2007/03/05  David Taylor  <dtaylor@emc.com>
+2007-03-05  David Taylor  <dtaylor@emc.com>
 
        * gcc.c: Correct copyright date in --version output.
 
        of comparison of non-null ADDR_EXPR against null.
 
 2007-03-05  Richard Guenther  <rguenther@suse.de>
-       Dorit Nuzman  <dorit@il.ibm.com>
+           Dorit Nuzman  <dorit@il.ibm.com>
 
        PR tree-optimization/26420
        * tree-vectorizer.c (vectorize_loops): Bail out early if there
 
 2007-03-05  Revital Eres  <eres@il.ibm.com>
 
-      * gcc.dg/var-expand1.c: New test.
-      * loop-unroll.c (analyze_insn_to_expand_var): Add dump info
-      when an accumulator is expanded.
+       * gcc.dg/var-expand1.c: New test.
+       * loop-unroll.c (analyze_insn_to_expand_var): Add dump info
+       when an accumulator is expanded.
 
 2007-03-04  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>