OSDN Git Service

* Makefile.in (reload1.o-warn): Remove.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index e622c34..a381a86 100644 (file)
@@ -1,3 +1,991 @@
+2007-06-11  Diego Novillo  <dnovillo@google.com>
+
+       * Makefile.in (reload1.o-warn): Remove.
+
+2007-06-11  Seongbae Park <seongbae.park@gmail.com>
+
+       * combine.c (subst): Use reg_overlap_mentioned_p
+       instead of comparing register numbers directly.
+
+2007-06-11  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+       * reload1.c (mark_home_live_1): Use the mode parameter.
+
+2007-06-11  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+       * df-scan.c (df_insn_delete, df_insn_rescan, df_insn_rescan_all,
+       df_process_deferred_rescans, df_notes_rescan): Fixed spelling of
+       word "deferred".
+       * df-core.c: Ditto.
+       
+2007-06-11  Daniel Berlin  <dberlin@dberlin.org>
+
+       * Merge dataflow-branch into mainline (see ChangeLog.dataflow)
+
+2007-06-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md ("*movtf_internal): Penalize moves to and
+       from integer registers.
+       (FP mode splitters): Handle TFmode.
+
+2007-06-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-ssa-structalias.c (find_what_p_points_to): Return false
+       for ref-all pointers that point-to anything.
+
+2007-06-11  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/arm/arm.c (arm_output_dwarf_dtprel,
+       TARGET_ASM_OUTPUT_DWARF_DTPREL): New.
+
+2007-06-11  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.md (movdi_insn, movsi_insn, movv2hi_insn,
+       movhi_insn, movqi_insn, movsf_insn, movdf_insn): Don't allow constant
+       to memory moves.
+
+2007-06-11  Rafael Avila de Espindola  <espindola@google.com>
+
+       * gcc/tree.c (signed_or_unsigned_type_for): New.
+       (unsigned_type_for): Use signed_or_unsigned_type_for.
+       (signed_type_for): Use signed_or_unsigned_type_for.
+       * gcc/tree.h (signed_or_unsigned_type_for): New.
+       (get_signed_or_unsigned_type): Remove.
+       * gcc/fold-const.c (fold_negate_expr): Use signed_type_for instead of
+       lang_hooks.types.signed_type
+       (size_diffop): Likewise.
+       (all_ones_mask_p): Likewise.
+       (build_range_check): Likewise.
+       (fold_cond_expr_with_comparison): Likewise.
+       (fold_cond_expr_with_comparison): Likewise.
+       (unextend): Likewise.
+       (extract_muldiv_1): Likewise.
+       (fold_single_bit_test_into_sign_test): Likewise.
+       (fold_binary): Likewise.
+       (fold_ternary): Likewise.
+       (operand_equal_for_comparison_p): Use signed_or_unsigned_type_for
+       instead of get_signed_or_unsigned_type.
+       * gcc/c-objc-common.h (LANG_HOOKS_SIGNED_TYPE): Remove.
+       (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
+       * gcc/expr.c (signed_or_unsigned_type_for): Use
+       signed_or_unsigned_type_for instead of get_signed_or_unsigned_type.
+       * gcc/langhooks.c (get_signed_or_unsigned_type): Remove.
+       (lhd_signed_or_unsigned_type): Remove.
+       * gcc/langhooks.h (lang_hooks_for_types): Remove signed_type and
+       signed_or_unsigned_type.
+       (lhd_signed_or_unsigned_type): Remove.
+       * gcc/expmed.c (make_tree): Use signed_type_for instead of
+       lang_hooks.types.signed_type.
+       * gcc/c-common.c (same_scalar_type_ignoring_signedness): Use
+       c_common_signed_type instead of lang_hooks.types.signed_type.
+       (c_common_unsigned_type): New.
+       (c_common_signed_type): Just call c_common_signed_or_unsigned_type.
+       (shorten_compare): Use c_common_unsigned_type instead of
+       c_common_signed_or_unsigned_type.
+       (c_common_nodes_and_builtins): Use c_common_unsigned_type instead of
+       unsigned_type_for.
+       * gcc/convert.c (convert_to_integer): Use signed_type_for instead of
+       lang_hooks.types.signed_type.
+       * gcc/langhooks-def.h (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
+       (LANG_HOOK_FOR_TYPES_INITIALIZER): Remove LANG_HOOKS_SIGNED_TYPE and
+       LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE.
+       * gcc/c-format.c (check_format_types): Use c_common_unsigned_type
+       instead of unsigned_type_for.
+       * gcc/c-decl.c (groakdeclarator): Likewise.
+       * gcc/c-typeck.c (convert_for_assignment): Likewise.
+       * gcc/c-common.h (c_common_unsigned_type): New.
+
+2007-06-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/32280
+       * config/i386/sse.md ("sse2_ashlti", "sse2_lshrti3"): Move ...
+       * config/i386/i386.md ("sse2_ashlti", "sse2_lshrti3"): ... to here.
+
+2007-06-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR middle-end/32279
+       * fold-const (fold_binary) [RDIV_EXPR]: Optimize a/sqrt(b/c)
+       into a*sqrt(c/b) if flag_unsafe_math_optimizations is set.
+
+2007-06-10  Jan Sjodin  <jan.sjodin@amd.com>
+           Sebastian Pop  <sebpop@gmail.com>
+
+       * lambda-code.c (remove_iv): New.
+       (lambda_loopnest_to_gcc_loopnest): Use remove_iv.
+
+2007-06-10  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-data-ref.c (dr_analyze_alias): Handle case smt is NULL.
+       * tree-predcom.c (mark_virtual_ops_for_renaming): Exported.
+       * tree-ssa-loop-prefetch.c: Include optabs.h.
+       (FENCE_FOLLOWING_MOVNT): New macro.
+       (struct mem_ref): Add independent_p and storent_p fields.
+       (record_ref): Initalize the new fields.
+       (gather_memory_references_ref): Return true if the reference
+       could be analysed.
+       (gather_memory_references): Check whether all memory accesses
+       in loop were recorded.
+       (should_issue_prefetch_p): Return false for nontemporal stores.
+       (nontemporal_store_p, mark_nontemporal_store, emit_mfence_after_loop,
+       may_use_storent_in_loop_p, mark_nontemporal_stores): New functions.
+       (determine_loop_nest_reuse): Detect independent memory references.
+       (loop_prefetch_arrays): Call mark_nontemporal_stores.
+       * tree-flow.h (mark_virtual_ops_for_renaming): Declare.
+       * Makefile.in (tree-ssa-loop-prefetch.o): Add OPTABS_H dependency.
+       * config/i386/i386.h (x86_mfence): Declare.
+       (FENCE_FOLLOWING_MOVNT): Return x86_mfence.
+       * config/i386/i386.c (x86_mfence): New variable.
+       (ix86_init_mmx_sse_builtins): Initialize x86_mfence.
+
+       * tree-pretty-print.c (dump_generic_node): Mark nontemporal stores.
+       * optabs.c (init_optabs): Initialize storent_optab.
+       * optabs.h (enum optab_index): Add OTI_storent.
+       (storent_optab): Declare.
+       * genopinit.c (optabs): Add initialization for storent_optab.
+       * tree.h (MOVE_NONTEMPORAL): New macro.
+       * expr.c (expand_assignment, store_expr, store_constructor_field,
+       store_constructor, store_field, expand_expr_real_1): Propagate
+       nontemporality of the expanded store.
+       (emit_storent_insn): New function.
+       * expr.h (expand_assignment, store_expr): Declaration changed.
+       * function.c (assign_parm_setup_reg): Pass false as nontemporality
+       to expand_assignment.
+       * stmt.c (expand_asm_expr): Ditto.
+       * calls.c (initialize_argument_information): Pass false as
+       nontemporality to store_expr.
+       * config/i386/sse.md (storentv4sf, storentv2df, storentv2di,
+       storentsi): New.
+
+2007-06-09  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-structalias.c (set_uids_in_ptset): Add is_deref'd
+       parameter, use it.
+       (find_what_p_points_to): Pass new parameter to set_uids_in_ptset.
+
+2007-06-09  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-data-ref.c (dr_may_alias_p): Check that decl_a != decl_b,
+       and allow DECL_P here.
+
+2007-06-09  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-scalar-evolution.c (follow_ssa_edge_in_rhs,
+       follow_ssa_edge_in_condition_phi, follow_ssa_edge): Keep more precise
+       track of the size of the expression.
+       * cfghooks.c (merge_blocks): Remove block from loops structure only
+       after call of the merge_blocks hook.
+
+2007-06-09  Tom Tromey  <tromey@redhat.com>
+
+       * c-decl.c (grokdeclarator): Added 'deprecated_state' argument.
+       (deprecated_state): Removed.
+       (start_decl): Update.
+       (enum deprecated_states): Moved earlier.
+       (groktypename): Update.
+       (push_parm_decl): Likewise.
+       (grokfield): Likewise.
+       (start_function): Likewise.
+
+2007-06-09  Ian Lance Taylor  <iant@google.com>
+
+       PR tree-optimization/32169
+       * tree-vrp.c (extract_range_from_unary_expr): For NOP_EXPR and
+       CONVERT_EXPR, check whether min and max both converted to an
+       overflow infinity representation.
+
+2007-06-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * reload1.c (fixup_abnormal_edges): Clear bb field for insns
+       not inserted on the edge.
+
+2007-06-08  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/lib1funcs.asm (__udivsi3): Use hardware divide
+       instructions if they are supported.
+       (__divsi3, __umodsi3, __modsi3): Likewise.
+       (__ashldi3, __ashrdi3, __lshrdi3): New.
+       * config/xtensa/t-xtensa (LIB1ASMFUNCS): Add DImode shift functions.
+       
+2007-06-08  Harsha Jagasia <harsha.jagasia@amd.com>
+           Tony Linthicum <tony.linthicum@amd.com>
+
+       * doc/extend.texi: Add fvect-cost-model flag.
+       * common.opt (fvect-cost-model): New flag.
+       * tree-vectorizer.c (new_stmt_vec_info): Initialize inside and outside
+       cost fields in stmt_vec_info struct for STMT.
+       * tree-vectorizer.h (stmt_vec_info): Define inside and outside cost
+       fields in stmt_vec_info struct and access functions for the same.
+       (TARG_COND_BRANCH_COST): Define cost of conditional branch.
+       (TARG_VEC_STMT_COST): Define cost of any vector operation, excluding
+       load, store and vector to scalar operation.
+       (TARG_VEC_TO_SCALAR_COST): Define cost of vector to scalar operation.
+       (TARG_VEC_LOAD_COST): Define cost of aligned vector load.
+       (TARG_VEC_UNALIGNED_LOAD_COST): Define cost of misasligned vector load.
+       (TARG_VEC_STORE_COST): Define cost of vector store.
+       (vect_estimate_min_profitable_iters): Define new function.
+       * tree-vect-analyze.c (vect_analyze_operations): Add a compile-time
+       check to evaluate if loop iterations are less than minimum profitable
+       iterations determined by cost model or minimum vect loop bound defined
+       by user, whichever is more conservative.
+       * tree-vect-transform.c (vect_do_peeling_for_loop_bound): Add a
+       run-time check to evaluate if loop iterations are less than minimum
+       profitable iterations determined by cost model or minimum vect loop
+       bound defined by user, whichever is more conservative.
+       (vect_estimate_min_profitable_iterations): New function to estimate
+       mimimimum iterartions required for vector version of loop to be
+       profitable over scalar version.
+        (vect_model_reduction_cost): New function.
+       (vect_model_induction_cost): New function.
+       (vect_model_simple_cost): New function.
+       (vect_cost_strided_group_size): New function.
+       (vect_model_store_cost): New function.
+       (vect_model_load_cost): New function.
+       (vectorizable_reduction): Call vect_model_reduction_cost during
+       analysis phase.
+       (vectorizable_induction): Call vect_model_induction_cost during
+       analysis phase.
+       (vectorizable_load): Call vect_model_load_cost during analysis phase.
+       (vectorizable_store): Call vect_model_store_cost during analysis phase.
+       (vectorizable_call, vectorizable_assignment, vectorizable_operation,
+       vectorizable_promotion, vectorizable_demotion): Call 
+       vect_model_simple_cost during analysis phase.
+
+2007-06-08  Simon Baldwin  <simonb@google.com>
+
+       * reg-stack.c (get_true_reg): Readability change.  Moved default case
+       label into direct switch statement scope.
+
+2007-06-08  Simon Baldwin  <simonb@google.com>
+
+       * tree-flow-inline.h (var_ann): Replaced erroneous '=' assignment
+       in gcc_assert() with '==' comparison.
+
+2007-06-08  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (override_options): Merge TARGET_SSE4_2 and
+       TARGET_ABM handling of x86_popcnt variable.
+
+2007-06-08  Uros Bizjak  <ubizjak@gmail.com>
+
+       * doc/extend.texi (X86 Built-in Functions): Document __builtin_fabsq,
+       __builtin_copysignq and __builtin_infq built-in functions.
+
+2007-06-08  Uros Bizjak  <ubizjak@gmail.com>
+
+       * doc/extend.texi (X86 Built-in Functions): Add missing `@item's in
+       SSE4.2 section.  Correct built-in function names in SSE4A section.
+
+2007-06-08  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR tree-optimization/32243
+       * tree-vect-transform.c (vectorizable_type_promotion): Move check
+       for ncopies after ratio check between nunits_out and nunits_in.
+       (vectorizable_type_demotion): Remove single-use variable "scalar_type".
+
+2007-06-08  Dorit Nuzman  <dorit@il.ibm.com>
+
+       PR tree-optimization/32224
+       * tree-vect-analyze.c (vect_determine_vectorization_factor): Fail
+       vectorization upon a non GIMPLE_MODIFY_STMT.
+
+2007-06-08  Christian Bruel  <christian.bruel@st.com>
+
+       PR target/29953
+       * config/sh/sh.md (doloop_end): New pattern and splitter.
+       * loop-iv.c (simple_rhs_p): Check for hardware registers.
+       
+2007-06-08  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR middle-end/32209
+       * dominance.c (debug_dominance_tree, debug_dominance_tree_1): New
+       functions.
+       (verify_dominators): Do not change dominance tree.
+
+2007-06-08  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/constraints.md: New file.
+       * config/sh/sh.c: Include tm-constrs.h.
+       (reg_class_from_letter): Remove.
+       (prepare_cbranch_operands): Use satisfies_constraint_*
+       function instead of macro.
+       (andcosts, broken_move, sh_secondary_reload): Likewise.
+       * config/sh/predicates.md (trapping_target_operand): Likewise.
+       (and_operand, arith_operand, arith_reg_or_0_operand,
+       cmp_operand, logical_operand, target_operand,
+       ua_address_operand, ua_offset, xor_operand): Likewise.
+       * config/sh/sh.md: Include constraints.md.
+       (*movsicc_t_false): Use satisfies_constraint_* function
+       instead of macro.
+       (*movsicc_t_true, ashlsi3_std, ashlhi3_k, lshrsi3_m,
+       lshrsi3_k, movsi_const_16bit+2, *movhi_media+1,
+       movdi_const_16bit+1, beq, bne, *ptb): Likewise.
+       * config/sh/sh.h (reg_class_from_letter): Remove prototype.
+       (OVERRIDE_OPTIONS): Don't modify reg_class_from_letter.
+       (REG_CLASS_FROM_CONSTRAINT): Remove.
+       (CONSTRAINT_LEN, CONST_OK_FOR_I20, CONST_OK_FOR_I,
+       CONST_OK_FOR_J, CONST_OK_FOR_K16, CONST_OK_FOR_K,
+       CONST_OK_FOR_P27, CONST_OK_FOR_P, CONST_OK_FOR_M,
+       CONST_OK_FOR_N, CONST_OK_FOR_CONSTRAINT_P,
+       CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
+       (SECONDARY_INOUT_RELOAD_CLASS): Use satisfies_constraint_*
+       function instead of macro.
+       (SECONDARY_INPUT_RELOAD_CLASS): Likewise.
+       (EXTRA_CONSTRAINT_Q, EXTRA_CONSTRAINT_A,
+       EXTRA_CONSTRAINT_Bsc, EXTRA_CONSTRAINT_B,
+       EXTRA_CONSTRAINT_Css, EXTRA_CONSTRAINT_Csu): Remove.
+       (IS_PC_RELATIVE_LOAD_ADDR_P): New macro.
+       (IS_LITERAL_OR_SYMBOLIC_S16_P): Likewise.
+       (IS_LITERAL_OR_SYMBOLIC_U16_P): Likewise.
+       (IS_NON_EXPLICIT_CONSTANT_P): Likewise.
+       (EXTRA_CONSTRAINT_Csy, EXTRA_CONSTRAINT_Z, EXTRA_CONSTRAINT_W,
+       EXTRA_CONSTRAINT_Cpg, EXTRA_CONSTRAINT_C,
+       EXTRA_MEMORY_CONSTRAINT, EXTRA_CONSTRAINT_Sr0,
+       EXTRA_CONSTRAINT_Sua, EXTRA_CONSTRAINT_S,
+       EXTRA_CONSTRAINT_STR): Likewise.
+       (GO_IF_LEGITIMATE_INDEX): Fix indentation.
+
+2007-06-07  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/i386/darwin.h (STACK_BOUNDARY): Define.
+
+2007-06-07  Simon Martin  <simartin@users.sourceforge.net>
+
+       PR c++/30759
+       * c-common.h (flag_cpp0x): Replaced by...
+       (cxx_dialect): ... this new variable specifying the C++ dialect that
+       is used.
+       * c-common.c (flag_cpp0x): Removed.
+       (cxx_dialect): Defined.
+       * c-cppbuiltin.c (c_cpp_builtins): flag_cpp0x rewritten in terms of
+       cxx_dialect.
+       * c-opts.c (c_common_post_options): Likewise.
+       (set_std_cxx98): Set cxx_dialect to cxx98.
+       (set_std_cxx0x): Set cxx_dialect to cxx0x.
+
+2007-06-07  Geoffrey Keating  <geoffk@apple.com>
+           Hui-May Chang <hm.chang@apple.com>
+
+       * doc/invoke.texi (Darwin Options): Update documentation for
+       -mmacosx-version-min.
+       * config.gcc (*-*-darwin*): Set extra_gcc_objs.
+       * config/darwin-driver.c: New file.
+       * config/darwin.h (GCC_DRIVER_HOST_INITIALIZATION): New.
+       * config/t-darwin (darwin-driver.o): New rule.
+
+       * config/darwin-c.c (version_as_macro): Ignore low digit.
+
+2007-06-07  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (standard sse constant splitter): Handle TFmode.
+       (negtf2, abstf2, *absnegtf2_sse): New insn patterns.
+       (CSGNMODE): New mode macro.
+       (CSGNVMODE): New mode attribute.
+       (copysign<mode>3): Rename from copysingsf3 and copysigndf3.  Macroize
+       expander using CSGNMODE mode macro.  Handle TFmode.
+       (copysign<mode>3_const): Rename from copysignsf3_const and
+       copysigndf3_const.  Macroize pattern using CSGNMODE mode macro.
+       Handle TFmode.
+       (copysign<mode>3_var): Rename from copysignsf3_var and
+       copysigndf3_var.  Macroize pattern using CSGNMODE mode macro.
+       Handle TFmode.
+       (copysign<mode>3_var splitter): Macroize pattern using CSGNMODE
+       mode macro.  Handle TFmode.
+       * config/i386/sse.md (andtf3, *andtf3, *nandtf3): New insn patterns.
+       (iortf3, *iortf3): Ditto.
+       (xortf3, *xortf3): Ditto.
+       * config/i386/i386.c (ix86_build_signbit_mask): Create scalar
+       TFmode and TImode masks.
+       (ix86_expand_copysign): Expand TFmode copysign insn.
+       (IX86_BUILTIN_INFQ): New.
+       (IX86_BUILTIN_FABSQ): Ditto.
+       (IX86_BUILTIN_COPYSIGNQ): Ditto.
+       (ix86_init_mmx_sse_builtins) [__builtin_infq]: New builtin definition.
+       [__builtin_fabsq]: Ditto.
+       [__builtin_copysignq]: Ditto.
+       (ix86_expand_builtin) [IX86_BUILTIN_INFQ]: Expand builtin.
+       [IX86_BUILTIN_FABSQ]: Expand builtin using ix86_expand_unop_builtin().
+       [IX86_BUILTIN_COPYSIGNQ]: Expand builtin using
+       ix86_expand_binop_builtin().
+
+2007-06-07  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/lib1funcs.asm: Clean up whitespace.
+
+2007-06-07  Steve Ellcey  <sje@cup.hp.com>
+
+       PR target/31850
+       * rtl.h (push_to_sequence2): New.
+       * emit-rtl.c (push_to_sequence2): New.
+       * function.c (assign_parm_data_all): Add new fields.
+       (assign_parm_setup_block): Call push_to_sequence2 instead of 
+       push_to_sequence.
+       (assign_parm_setup_reg): Ditto.
+       (assign_parm_setup_stack): Ditto.
+       (assign_parms_unsplit_complex): Ditto.
+       (assign_parms): Change field name.
+
+2007-06-07  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/32220
+       * tree-predcom.c (eliminate_temp_copies): Handle the case that loop
+       phi node is reached before defining statement.
+
+2007-06-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR tree-opt/32231
+       * tree-vect-transform.c (vectorizable_call): Call update_stmt
+       after changing the right hand side of the assignment.
+
+2007-06-06  Eric Christopher  <echristo@apple.com>
+
+       * config.gcc (i?86-*-darwin*): Remove arch parameter.
+       (x86_64-*-darwin*): Ditto.
+       * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Define.
+       (TARGET_SUBTARGET64_ISA_DEFAULT): Ditto.
+
+2007-06-06  Thomas Neumann  <tneumann@users.sourceforge.net>
+
+       * tree-ssa-alias-warnings.c (maybe_add_match): Cast according to the
+       coding conventions.
+       (add_key): Likewise.
+       * tree-ssa.c (init_tree_ssa): Use type safe memory macros.
+       * tree-ssa-ccp.c (ccp_fold_builtin): Avoid using C++ keywords as
+       variable names.
+       * tree-ssa-coalesce.c (find_coalesce_pair): Use type safe memory macros.
+       (add_cost_one_coalesce): Likewise.
+       * tree-ssa-copy.c (merge_alias_info): Avoid using C++ keywords as
+       variable names. Rename orig to orig_name for consistency.
+       * tree-ssa-dom.c (dom_thread_across_edge): Cast according to the coding
+       conventions.
+       (cprop_into_successor_phis): Avoid using C++ keywords as variable names.
+       (record_equivalences_from_stmt): Likewise.
+       * tree-ssa-dse.c (dse_initialize_block_local_data): Cast according to
+       the coding conventions.
+       (memory_ssa_name_same): Likewise.
+       (dse_optimize_stmt): Likewise.
+       (dse_record_phis): Likewise.
+       (dse_finalize_block): Likewise.
+       * tree-ssa-loop-im.c (outermost_invariant_loop_expr): Avoid using C++
+       keywords as variable names.
+       (may_move_till): Cast according to the coding conventions.
+       (force_move_till_expr): Avoid using C++ keywords as variable names.
+       (force_move_till): Cast according to the coding conventions.
+       (memref_hash): Likewise.
+       (memref_eq): Likewise.
+       (gather_mem_refs_stmt): Likewise.
+       * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Avoid using C++
+       keywords as variable names.
+       (idx_find_step): Cast according to the coding conventions.
+       (idx_record_use): Likewise.
+       (find_depends): Likewise.
+       (prepare_decl_rtl): Likewise.
+       (mbc_entry_hash): Likewise.
+       (mbc_entry_eq): Likewise.
+       * tree-ssa-loop-niter.c (SWAP): Use the correct the type for tmp.
+       (simplify_replace_tree): Avoid using C++ keywords as variable names.
+       (idx_infer_loop_bounds): Cast according to the coding conventions.
+       * tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
+       * tree-ssa-math-opts.c (occ_new ): Likwise.
+       * tree-ssanames.c (duplicate_ssa_name_ptr_info): Use type safe memory
+       macros.
+       * tree-ssa-operands.c (add_def_op): Avoid using C++ keywords as variable
+       names.
+       (add_use_op): Likewise.
+       (add_vop): Likewise.
+       (add_vuse_op): Likewise.
+       (add_vdef_op): Likewise.
+       (get_expr_operands): Likewise.
+       (push_stmt_changes): Use type safe memory macros.
+       * tree-ssa-phiopt.c (replace_phi_edge_with_variable): Avoid using C++
+       keywords as variable names.
+       (conditional_replacement): Likewise.
+       (minmax_replacement): Likewise.
+       (abs_replacement): Likewise.
+       * tree-ssa-pre.c (create_expression_by_pieces): Cast according to the
+       coding conventions.
+       (insert_fake_stores): Avoid using C++ keywords as variable names.
+       * tree-ssa-reassoc.c (add_to_ops_vec): Cast according to the coding
+       conventions.
+       * tree-ssa-structalias.c (heapvar_lookup): Likewise.
+       (heapvar_insert): Use type safe memory macros.
+       (new_var_info): Cast according to the coding conventions.
+       (new_constraint): Likewise.
+       (remove_preds_and_fake_succs): Use type safe memory macros.
+       * tree-ssa-threadupdate.c (thread_block): Cast according to the coding
+       conventions.
+       (thread_single_edge): Likewise.
+       (thread_through_loop_header): Likewise.
+
+2007-06-06  Eric Christopher  <echristo@apple.com>
+
+       * config/i386/i386.c (override_options): Move handling
+       of TARGET_SUBTARGET* earlier.
+
+2007-06-06  Paolo Bonzini  <bonzini@gnu.org>
+
+       * genmodes.c (tagged_printf, emit_insn_modes_h): Don't
+       use %n on printf.
+
+2007-06-06  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * haifa-sched.c (restore_bb_notes): Clear bb field of the notes
+       emited outside of basic block.
+       * cfgbuild.c (find_bb_boundaries): Clear bb field for insns between
+       the created blocks.
+       * rtl.h (delete_insn_chain): Declaration changed.
+       * cfgrtl.c (delete_insn_chain): Add option to clear bb field for
+       non-removed insns.
+       (rtl_delete_block, rtl_merge_blocks): Pass true to delete_insn_chain.
+       (delete_insn_chain_and_edges, try_redirect_by_replacing_jump,
+       rtl_tidy_fallthru_edge, cfg_layout_merge_blocks): Pass false
+       to delete_insn_chain.
+       (rtl_verify_flow_info_1): Verify that the insns in header and footer
+       do not have bb field set.
+       (rtl_verify_flow_info): Verify that insns between basic blocks do not
+       have bb field set.
+       * recog.c (peephole2_optimize): Add argument to delete_insn_chain call.
+       * cfgcleanup.c (try_optimize_cfg): Ditto.
+
+2007-06-06  Thomas Neumann  <tneumann@users.sourceforge.net>
+
+       * lambda-code.c (struct lambda_lattice_s): Add a name to the struct.
+       (lambda_body_vector_new): Use type safe memory macros.
+       (lambda_linear_expression_new): Likewise.
+       (lambda_loopnest_new): Likewise.
+       (lambda_lattice_new): Likewise.
+       (replace_uses_equiv_to_x_with_y): Cast according to the coding
+       conventions. Use type safe memory macros.
+       * lambda.h (struct lambda_trans_matrix_s): Add a name to the struct.
+       (lambda_body_vector_s): Likewise.
+       * lambda-mat.c (lambda_matrix_new): Use type safe memory macros.
+       * lambda-trans.c (lambda_trans_matrix_new): Likewise.
+
+2007-06-06  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-forwprop.c (forward_propagate_into_cond): Return 2
+       if we need to schedule cfg_cleanup.
+       (tree_ssa_forward_propagate_single_use_vars): Do so.
+
+2007-06-06  Ian Lance Taylor  <iant@google.com>
+
+       * fold-const.c (merge_ranges): If range_successor or
+       range_predecessor fail, just return 0.
+
+2007-06-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR tree-optimization/32216
+       * tree-vectorizer.c (supportable_widening_operation): Determine
+       signedness of FIX_TRUNC_EXPR from output operand.
+       (supportable_narrowing_operation): Ditto.
+       * tree-vect-generic.c (expand_vector_operations_1): Determine
+       signedness of VEC_UNPACK_FLOAT_HI_EXPR and VEC_UNPACK_FLOAT_LO_EXPR
+       from input operand.
+
+2007-06-06  Thomas Neumann  <tneumann@users.sourceforge.net>
+
+       * config/i386/i386.c (enum pta_flags): Move out of struct scope...
+       (struct pta): ...from here. Change flags to unsigned to avoid
+       excessive casting (as it is used as a bit mask).
+       (override_options): Add casts according to the coding convenventions.
+       (x86_64_elf_unique_section): Likewise.
+       (examine_argument): Avoid using C++ keywords as variable names.
+       (construct_container): Likewise.
+       (legitimize_pic_address): Likewise.
+       (get_dllimport_decl): Cast according to the coding conventions. Use
+       type safe memory macros.
+       (legitimize_address): Cast according to the coding conventions.
+       (emit_i387_cw_initialization): Corrected the type of slot to enum
+       ix86_stack_slot.
+       (ix86_init_machine_status): Use type safe memory macros.
+       (bdesc_pcmpestr): Use UNKNOWN instead of integer 0.
+       (bdesc_pcmpistr): Likewise.
+       (bdesc_crc32): Likewise.
+       (bdesc_sse_3arg): Likewise.
+       (bdesc_2arg): Likewise.
+       (bdesc_1arg): Likewise.
+       (ix86_expand_sse_pcmpestr): Cast according to the coding conventions.
+       (ix86_expand_sse_pcmpistr): Likewise.
+       (ix86_expand_vec_set_builtin): Use EXPAND_NORMAL instead of integer 0.
+       (ix86_builtin_vectorized_function): Change the type of fn to unsigned
+       int to match the langhook definition.
+       (ix86_builtin_conversion): Change the type of code to unsigned init to
+       match the langhook definition.
+       (ix86_preferred_reload_class): Avoid using C++ keywords as variable
+       names.
+       (ix86_preferred_output_reload_class): Likewise.
+       (ix86_cannot_change_mode_class): Likewise.
+       (ix86_memory_move_cost): Likewise.
+       (ix86_rtx_costs): Cast the outer_code parameter to enum rtx_code to
+       avoid excessive casting later on.
+       (x86_output_mi_thunk): Avoid using C++ keywords as variable names.
+
+2007-06-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (sse4_2_pcmpestr_cconly): Prefer pcmpestrm
+       as flags setting insn.
+       (sse4_2_pcmpistr_cconly): Prefer pcmpistrm as flags setting insn.
+
+2007-06-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (UNSPEC_ROUNDP, UNSPEC_ROUNDS): Remove.
+       (UNSPEC_ROUND): New.
+       ("sse4_1_round<mode>2"): New insn pattern.
+       ("rint<mode>2"): Expand using "sse4_1_round<mode>2" pattern for
+       SSE4.1 targets.
+       ("floor<mode>2"): Rename from floordf2 and floorsf2.  Macroize
+       expander using SSEMODEF mode macro.  Expand using
+       "sse4_1_round<mode>2" pattern for SSE4.1 targets.
+       ("ceil<mode>2"): Rename from ceildf2 and ceilsf2.  Macroize
+       expander using SSEMODEF mode macro.  Expand using
+       "sse4_1_round<mode>2" pattern for SSE4.1 targets.
+       ("btrunc<mode>2"): Rename from btruncdf2 and btruncsf2.  Macroize
+       expander using SSEMODEF mode macro.  Expand using
+       "sse4_1_round<mode>2" pattern for SSE4.1 targets.
+       * config/i386/sse.md ("sse4_1_roundpd", "sse4_1_roundps"): Use
+       UNSPEC_ROUND instead of UNSPEC_ROUNDP.
+       ("sse4_1_roundsd", "sse4_1_roundss"): Use UNSPEC_ROUND instead of
+       UNSPEC_ROUNDS.
+
+2007-06-06  Jan Sjodin  <jan.sjodin@amd.com>
+           Sebastian Pop  <sebpop@gmail.com>
+
+       * lambda.h (build_linear_expr): New.
+       * lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression):
+       Use build_linear_expr, call fold and force_gimple_operand.
+       (lambda_loopnest_to_gcc_loopnest): Check that there is
+       something to insert.
+       * testsuite/gcc.dg/tree-ssa/ltrans-6.c: New.
+
+2007-06-05  Joerg Wunsch  <j.gnu@uriah.heep.sax.de>
+
+       PR preprocessor/23479
+       * doc/extend.texi: Document the 0b-prefixed binary integer
+       constant extension.
+
+2007-06-05  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR tree-optimization/32215
+       * tree-vectorizer.c (supportable_widening_operation): Return false
+       for unsupported FIX_TRUNC_EXPR tree code.
+       (supportable_narrowing_operation): Ditto for FLOAT_EXPR tree code.
+
+2007-06-06  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/rs6000/rs6000.h (FIXED_SCRATCH): Use r0 as a scratch
+       register on SPE targets.  Change documentation to reflect
+       reality.
+       * config/rs6000/rs6000.c (rs6000_conditional_register_usage):
+       Change FIXED_SCRATCH to 14 and document why we're keeping r14
+       out of the register allocation pool.
+       (rs6000_reg_live_or_pic_offset_p): New function.
+       (rs6000_emit_prologue): Move the actual saving of LR up to free
+       r0 for holding r11.  Split saving of SPE 64-bit registers into
+       its own case.  Ensure that offsets will always be in-range for
+       'evstdd' by using r11 as a scratch register to point at the start
+       of the SPE save area.  Save r11 if necessary, as it is the static
+       chain register.
+       (rs6000_emit_epilogue): Split restoring of SPE 64-bit registers
+       into its own case.  Ensure that offsets will always be in-range
+       for 'evldd' by using r11 as a scratch register to point at the
+       start of the SPE save area.  Also adjust r11 when restoring
+       the stack pointer to compensate for pre-loading r11.
+
+2007-06-05  Thomas Neumann  <tneumann@users.sourceforge.net>
+
+       * cfg.c (init_flow): Use type safe memory macros.
+       (alloc_block): Likewise.
+       (unchecked_make_edge): Likewise.
+       (dump_flow_info): Avoid using C++ keywords as variable names.
+       (copy_original_table_clear): Cast according to the coding conventions.
+       (copy_original_table_set): Likewise.
+       * cfgexpand (label_rtx_for_bb): Likewise.
+       (expand_gimple_basic_block): Likewise.
+       * cfghooks.c (dump_bb): Likewise.
+       (lv_adjust_loop_header_phi): Avoid using C++ keywords as
+       variable names.
+       (lv_add_condition_to_bb): Likewise.
+       * cfglayout (relink_block_chain): Cast according to the coding
+       conventions.
+       (fixup_reorder_chain): Likewise.
+       (fixup_fallthru_exit_predecessor): Likewise.
+       * cfgloop.c (glb_enum_p): Likewise.
+       (get_exit_description): Likewise.
+       (dump_recorded_exit): Likewise.
+       * cfgloop.h (enum loop_estimation): Move out of struct scope...
+       (struct loop): ... from here.
+       * cfgloopmanip.c (rpe_enum_p): Cast according to the coding
+       conventions.
+       * cfgrtl.c (rtl_create_basic_block): Likewise.
+       (rtl_split_block): Likewise.
+       (rtl_dump_bb): Likewise.
+       (cfg_layout_split_block): Likewise.
+       (init_rtl_bb_info): Use typesafe memory macros.
+
+       * graphds.h (struct graph_edge): Renamed edge to graph_edge.
+       * graphds.h: Updated all usages of edge to graph_edge.
+       * graphds.c: Likewise.
+       * cfgloopanal.c: Likewise.
+
+2007-06-05  Ian Lance Taylor  <iant@google.com>
+
+       * tree-vrp.c (compare_values_warnv): Check TREE_NO_WARNING on a
+       PLUS_EXPR or MINUS_EXPR node before setting *strict_overflow_p.
+       (extract_range_from_assert): Set TREE_NO_WARNING when creating an
+       expression.
+       (test_for_singularity): Likewise.
+
+2007-06-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/constraints.md ("Y2"): Replaced by ...
+       ("Yt"): This.
+       * config/i386/i386.md: Likewise.
+       * config/i386/mmx.md: Likewise.
+       * config/i386/sse.md: Likewise.
+
+2007-06-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/constraints.md ("z"): Replaced by ...
+       ("Y0"): This.
+       * config/i386/sse.md (sse4_1_blendvpd): Likewise.
+       (sse4_1_blendvps): Likewise.
+       (sse4_1_pblendvb): Likewise.
+       (sse4_2_pcmpestr): Likewise.
+       (sse4_2_pcmpestrm): Likewise.
+       (sse4_2_pcmpestr_cconly): Likewise.
+       (sse4_2_pcmpistr): Likewise.
+       (sse4_2_pcmpistrm): Likewise.
+       (sse4_2_pcmpistr_cconly): Likewise.
+
+2007-06-05  Razya Ladelsky  <razya@il.ibm.com>
+
+       * matrix-reorg.c (transform_access_sites): Fix computation.
+       (transform_allocation_sites): Same.
+
+2007-06-05  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (override_options): Use
+       TARGET_SUBTARGET32_ISA_DEFAULT to select default ix86_isa_flags.
+
+2007-06-05  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/predicates.md (reg_not_xmm0_operand): New predicate.
+       (nonimm_not_xmm0_operand): Ditto.
+       * config/i386/sse.md ("sse4_1_blendvpd"): Use "reg_not_xmm0_operand"
+       as operand[0] and operand[1] predicate.  Use "nonimm_not_xmm0_operand"
+       as operand[2] predicate.  Require "z" class XMM register for
+       operand[3].  Adjust asm template.
+       ("sse4_1_blendvpd"): Ditto.
+       ("sse4_1_pblendvb"): Ditto.
+       * config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Do not
+       force op2 into xmm0 register for variable blend instructions.
+
+2007-06-04  Tom Tromey  <tromey@redhat.com>
+
+       * c-tree.h (start_enum): Update.
+       (build_enumerator): Likewise.
+       * c-decl.c (enum_next_value): Removed.
+       (enum_overflow): Likewise.
+       (start_enum): Add c_enum_contents argument.  Don't use globals.
+       (build_enumerator): Likewise.
+       * c-tree.h (struct c_enum_contents): New struct.
+
+2007-06-04  Tom Tromey  <tromey@redhat.com>
+
+       * c-common.c (c_common_get_alias_set): Fix indentation.
+
+2007-06-04  Ian Lance Taylor  <iant@google.com>
+
+       * tree-vrp.c (adjust_range_with_scev): When loop is not expected
+       to overflow, reduce overflow infinity to regular infinity.
+       (vrp_var_may_overflow): New static function.
+       (vrp_visit_phi_node): Check vrp_var_may_overflow.
+
+2007-06-04  Kazu Hirata  <kazu@codesourcery.com>
+
+       * stor-layout.c (layout_type): Remove duplicate code.
+
+2007-06-04  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR c/32191
+       * gcc/c-common.c (c_define_builtins): Call targetm.init_builtins ()
+       before build_common_builtin_nodes ().
+
+2007-06-04  Steve Ellcey  <sje@cup.hp.com>
+
+       PR target/31733
+       * cfgrtl.c (rtl_verify_flow_info): Skip notes when looking for barrier.
+
+2007-06-04  Jan Hubicka  <jh@suse.cz>
+
+       * tree-predcom.c (replace_ref_with, initialize_root_vars_lm,
+       reassociate_to_the_same_stmt): Call build_gimple_modify_stmt
+       instead of _stat version.
+
+2007-06-03  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/32194
+       * tree-predcom.c (determine_offset): Check that both references have
+       the same type.
+
+2007-06-03  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * cfgloopmanip.c (remove_path, loopify, duplicate_loop_to_header_edge):
+       Change dom_bbs to vector.  Add argument to iterate_fix_dominators call.
+       * loop-unroll.c (unroll_loop_runtime_iterations): Ditto.
+       * tree-cfg.c (tree_duplicate_sese_region): Change doms to vector.
+       Add argument to iterate_fix_dominators call.
+       (remove_edge_and_dominated_blocks): Pass vector to bbs_to_fix_dom.
+       * gcse.c (hoist_code): Change domby to vector.
+       * cfghooks.c (make_forwarder_block): Change doms_to_fix to vector.
+       Add argument to iterate_fix_dominators call.
+       * loop-doloop.c (doloop_modify): Changed recount_dominator to
+       recompute_dominator.
+       * lambda-code.c (perfect_nestify): Ditto.
+       * cfgloopanal.c: Include graphds.h.
+       (struct edge, struct vertex, struct graph, dump_graph, new_graph,
+       add_edge, dfs, for_each_edge, free_graph): Moved to graphds.c.
+       (mark_irreducible_loops): Use graphds_scc.  Remove argument from
+       add_edge call.
+       * graphds.c: New file.
+       * graphds.h: New file.
+       * dominance.c: Include vecprim.h, pointer-set.h and graphds.h.
+       (get_dominated_by, get_dominated_by_region): Change return type to
+       vector.
+       (verify_dominators): Recompute all dominators and compare the results.
+       (recount_dominator): Renamed to ...
+       (recompute_dominator): ... this.  Do not check that the block is
+       dominated by entry.
+       (iterate_fix_dominators): Reimplemented.
+       (prune_bbs_to_update_dominators, root_of_dom_tree,
+       determine_dominators_for_sons): New functions.
+       * et-forest.c (et_root): New function.
+       * et-forest.h (et_root): Declare.
+       * Makefile.in (graphds.o): Add.
+       (cfgloopanal.o): Add graphds.h dependency.
+       (dominance.o): Add graphds.h, vecprim.h and pointer-set.h dependency.
+       * basic-block.h (get_dominated_by, get_dominated_by_region,
+       iterate_fix_dominators): Declaration changed.
+       (recount_dominator): Renamed to ...
+       (recompute_dominator): ... this.
+       * tree-ssa-threadupdate.c (thread_block): Free dominance info.
+       (thread_through_all_blocks): Do not free dominance info.
+
+2007-06-03  Andreas Schwab  <schwab@suse.de>
+
+       * config/m68k/m68k.c (override_options): Don't override
+       REAL_MODE_FORMAT.
+       * config/m68k/m68k-modes.def (SF, DF): Define to use
+       motorola_single_format and motorola_double_format, resp.
+       * real.c (motorola_single_format): Renamed from
+       coldfire_single_format.
+       (motorola_double_format): Renamed from coldfire_double_format.
+       (encode_ieee_extended): Generate a proper canonical NaN image
+       respecting canonical_nan_lsbs_set.
+       (ieee_extended_motorola_format): Set canonical_nan_lsbs_set to
+       true.
+       * real.h: Adjust declarations.
+
+2007-06-03  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/32163
+       * config/sh/sh.md (symGOT_load): Don't schedule insns when
+       the symbol is generated with the stack protector.
+
+2007-06-03  Kazu Hirata  <kazu@codesourcery.com>
+
+       * config/m68k/m68k.c (m68k_attribute_table): Add "interrupt".
+       (m68k_get_function_kind): Return m68k_fk_interrupt_handler on
+       "interrupt".
+       * doc/extend.texi (interrupt): Mention m68k.
+
+2007-06-02  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Call
+       safe_vector_operand() if input operand is VECTOR_MODE_P operand.
+       (ix86_expand_sse_pcmpestr): Do not check operands for
+       "register_operand", when insn operand predicate is "register_operand".
+       (ix86_expand_sse_pcmpistr): Ditto.
+
+2007-06-02  H.J. Lu  <hongjiu.lu@intel.com>
+           Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (enum reg_class) [SSE_FIRST_REG]: New.
+       (SSE_CLASS_P): Use reg_class_subset_p between SSE_REGS.
+       (REG_CLASS_NAMES): Add "FIRST_SSE_REG" string.
+       (REG_CLASS_CONTENTS): Add members of FIRST_SSE_REG class.
+       * config/i386/constraints.md ("z"): New register constraint
+       for members of SSE_FIRST_REG class.
+       * config/i386/i386-modes.def (CCA, CCC, CCO, CCS): New compare modes.
+       * config/i386/i386.c (regclass_map): Change class of %xmm0 to
+       SSE_FIRST_REG class.
+       (put_condition_code) [EQ, NE]: Output suffixes for new compare modes.
+       (ix86_cc_modes_compatible): Handle CCA, CCC, CCO and CCS modes.
+       (IX86_BUILTIN_PCMPESTRI128): New for SSE4.2.
+       (IX86_BUILTIN_PCMPESTRM128): Likewise.
+       (IX86_BUILTIN_PCMPESTRA128): Likewise.
+       (IX86_BUILTIN_PCMPESTRC128): Likewise.
+       (IX86_BUILTIN_PCMPESTRO128): Likewise.
+       (IX86_BUILTIN_PCMPESTRS128): Likewise.
+       (IX86_BUILTIN_PCMPESTRZ128): Likewise.
+       (IX86_BUILTIN_PCMPISTRI128): Likewise.
+       (IX86_BUILTIN_PCMPISTRM128): Likewise.
+       (IX86_BUILTIN_PCMPISTRA128): Likewise.
+       (IX86_BUILTIN_PCMPISTRC128): Likewise.
+       (IX86_BUILTIN_PCMPISTRO128): Likewise.
+       (IX86_BUILTIN_PCMPISTRS128): Likewise.
+       (IX86_BUILTIN_PCMPISTRZ128): Likewise.
+       (struct builtin_description): Change "flag" field to unsigned.
+       (bdesc_pcmpestr): New builtin description table.
+       (bdesc_pcmpistr): Likewise.
+       (ix86_init_mmx_sse_builtins): Define int_ftype_v16qi_int_v16qi_int_int,
+       v16qi_ftype_v16qi_int_v16qi_int_int and int_ftype_v16qi_v16qi_int.
+       Initialize pcmp[ei]str[im] insns for SSE4.2.
+       (ix86_expand_sse_pcmpestr): New subroutine of ix86_expand_builtin.
+       (ix86_expand_sse_pcmpistr): Likewise.
+       (ix86_expand_builtin): Expand pcmp[ei]str[im] builtins for SSE4.2.
+       * config/i386/i386.md (UNSPEC_PCMPESTR): New for SSE4.2.
+       (UNSPEC_PCMPISTR): Likewise.
+       * config/i386/sse.md (sse4_2_pcmpestr): New insn patern and splitter.
+       (sse4_2_pcmpestri):New isns pattern.
+       (sse4_2_pcmpestrm): Likewise.
+       (sse4_2_pcmpestr_cconly): Likewise.
+       (sse4_2_pcmpistr): New insn patern and splitter.
+       (sse4_2_pcmpistri):New isns pattern.
+       (sse4_2_pcmpistrm): Likewise.
+       (sse4_2_pcmpistr_cconly): Likewise.
+       * config/i386/smmintrin.h: Enable pcmp[ei]str[im] intrinsics
+       in SSE4.2.
+
+2007-06-01  David Daney  <ddaney@avtrex.com>
+
+       * config/mips/mips.c (mips_output_mi_thunk): Only load gp if not
+       LOADGP_ABSOLUTE and not binds_local_p.
+
+2007-06-01  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/darwin.h (LINK_SPEC): Pass -fpie through to the linker.
+
+2007-06-01  Ian Lance Taylor  <iant@google.com>
+
+       * tree-vrp.c (compare_name_with_value): Always set
+       used_strict_overflow if we get a result from the variable itself.
+
+2007-06-01  Ian Lance Taylor  <iant@google.com>
+
+       PR rtl-optimization/31455
+       * lower-subreg.c (find_decomposable_subregs): Don't decompose
+       subregs which have a cast between modes which are not tieable.
+
+2007-06-01  Uros Bizjak  <ubizjak@gmail.com>
+
+       * expr.c (force_operand) [DIV, MOD, UDIV, UMOD, ASHIFTRT]: Remove
+       breaks after return statements.
+
+2007-06-01  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (fpscr_set_from_mem): Call get_free_reg
+       only after no_new_pseudos.
+
 2007-05-31  Eric Christopher  <echristo@apple.com>
 
        * expr.c (convert_move): Assert that we don't have a BLKmode
 
 2007-05-31  H.J. Lu  <hongjiu.lu@intel.com>
 
-       * config.gcc (i[34567]86-*-*): Add nmmintrin.h to
-       extra_headers.
+       * config.gcc (i[34567]86-*-*): Add nmmintrin.h to extra_headers.
        (x86_64-*-*): Likewise.
-
        * config/i386/i386.c (OPTION_MASK_ISA_MMX_UNSET): New.
        (OPTION_MASK_ISA_3DNOW_UNSET): Likewise.
        (OPTION_MASK_ISA_SSE_UNSET): Likewise.
        (OPTION_MASK_ISA_SSE4): Likewise.
        (OPTION_MASK_ISA_SSE4_UNSET): Likewise.
        (OPTION_MASK_ISA_SSE4A_UNSET): Likewise.
-       (ix86_handle_option): Use OPTION_MASK_ISA_*_UNSET.  Handle
-       SSE4.2.
+       (ix86_handle_option): Use OPTION_MASK_ISA_*_UNSET.  Handle SSE4.2.
        (override_options): Support SSE4.2.
        (ix86_build_const_vector): Support SImode and DImode.
        (ix86_build_signbit_mask): Likewise.
        (ix86_expand_crc32): Likewise.
        (ix86_init_mmx_sse_builtins): Support SSE4.2.
        (ix86_expand_builtin): Likewise.
-
        * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
        __SSE4_2__ for -msse4.2.
-
        * config/i386/i386.md (UNSPEC_CRC32): New for SSE4.2.
        (CRC32MODE): Likewise.
        (crc32modesuffix): Likewise.
        (crc32modeconstraint): Likewise.
        (sse4_2_crc32<mode>): Likewise.
        (sse4_2_crc32di): Likewise.
-
        * config/i386/i386.opt (msse4.2): New for SSE4.2.
        (msse4): Likewise.
-
-       * config/i386/nmmintrin.h: New. The dummy SSE4.2 intrinsic header
-       file.
-
+       * config/i386/nmmintrin.h: New. The dummy SSE4.2 intrinsic header file.
        * config/i386/smmintrin.h: Add SSE4.2 intrinsics.
-
-       * config/i386/sse.md (sse4_2_gtv2di3): New pattern for
-       SSE4.2.
+       * config/i386/sse.md (sse4_2_gtv2di3): New pattern for SSE4.2.
        (vcond<mode>): Use SSEMODEI instead of SSEMODE124.
        (vcondu<mode>): Likewise.
-
        * doc/extend.texi: Document SSE4.2 built-in functions.
-
        * doc/invoke.texi: Document -msse4.2/-msse4.
 
 2007-05-31  Zdenek Dvorak  <dvorakz@suse.cz>
        * gcc.c (main): Don't consider linker options when issuing the
        warning about a linker input file not being used.
 
->>>>>>> .r125234
 2007-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        * tree-vrp.c (compare_names): Initialize sop.
 
        * c-common.c (warn_logical_operator): Fix condition.
 
-2007-03-10  Tobias Schlüter  <tobi@gcc.gnu.org>
+2007-03-10  Tobias Schlter  <tobi@gcc.gnu.org>
 
        * config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Add missing
        quotation mark.