OSDN Git Service

PR target/29978
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index a7eb6a2..0875708 100644 (file)
@@ -1,3 +1,530 @@
+2007-12-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/29978
+       * config/i386/i386.c (ix86_expand_branch): Optimize LE/LEU/GT/GTU
+       DImode comparisons against constant with all 1's in the lower word.
+
+2007-12-14  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (sse4_2_pcmpestr): Use reg_not_xmm0_operand
+       constraint for operand2.  Use nonimm_not_xmm0_operand constraint
+       for operand 4.  Update arguments in the call to
+       gen_sse4_2_pcmpestr_cconly.
+       (sse_4_2_pcmpestr_cconly): Renumber insn operands and update insn
+       template accordingly.
+       (sse4_2_pcmpistr): Use reg_not_xmm0_operand constraint for operand2.
+       Use nonimm_not_xmm0_operand constraint for operand 3.  Update
+       arguments in the call to gen_sse4_2_pcmpistr_cconly.
+       (sse_4_2_pcmpistr_cconly): Renumber insn operands and update insn
+
+2007-12-14  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/34462
+       * tree-ssa-operands.h (create_ssa_artificial_load_stmt): Add
+       parameter to say whether to unlink immediate uses.
+       * tree-ssa-operands.c (create_ssa_artificial_load_stmt): Do not
+       mark the artificial stmt as modified.  Unlink immediate uses
+       only if requested.
+       * tree-ssa-dom.c (record_equivalences_from_stmt): Update caller.
+       * tree-ssa-pre.c (insert_fake_stores): Likewise.
+
+2007-12-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR middle-end/33088
+       * gimplify.c (gimplify_modify_expr_complex_part): Add note to comment.
+       * tree-complex.c (init_dont_simulate_again): Return true if there are
+       uninitialized loads generated by gimplify_modify_expr_complex_part.
+       * tree-gimple.c (is_gimple_reg_type): Return false for complex types
+       if not optimizing.
+       * tree-ssa.c (ssa_undefined_value_p): New predicate extracted from...
+       (warn_uninit): ...here.  Use ssa_undefined_value_p.
+       * tree-ssa-pre.c (is_undefined_value): Delete.
+       (phi_translate_1): Use ssa_undefined_value_p.
+       (add_to_exp_gen): Likewise.
+       (make_values_for_stmt): Likewise.
+       * tree-flow.h (ssa_undefined_value_p): Declare.
+
+2007-12-13  Andrew Pinski  <pinskia@gmail.com>
+           David Daney  <ddaney@avtrex.com>
+
+       PR bootstrap/34144
+       * system.h: Make -Wuninitialized non-fatal if ASSERT_CHECKING
+       is disabled.
+
+2007-12-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/32636
+       * df-scan.c (df_get_entry_block_def_set): Set struct_value_rtx
+       regno in entry_block_defs even if HAVE_prologue && epilogue_completed.
+
+2007-12-13  Uros Bizjak  <ubizjak@gmail.com>
+           Richard Guenther  <rguenther@suse.de>
+
+       PR target/34435
+       * config/i386/emmintrin.h (_mm_shuffle_pd, _mm_extract_epi16,
+       _mm_insert_epi16, _mm_shufflehi_epi16, _mm_shufflelo_epi16,
+       _mm_shuffle_epi32): Cast non-constant input values to either __m64,
+       __m128, __m128i or __m128d in a macro version of the intrinsic.
+       Cast constant input values to int.
+       * config/i386/ammintrin.h (_mm_extracti_si64, _mm_inserti_si64): Ditto.
+       * config/i386/bmmintrin.h (_mm_roti_epi8, _mm_roti_epi16,
+       _mm_roti_epi32, _mm_roti_epi64): Ditto.
+       * config/i386/smmintrin.h (_mm_blend_epi16, _mm_blend_ps, _mm_blend_pd,
+       _mm_dp_ps, _mm_dp_pd, _mm_insert_ps, _mm_extract_ps, _mm_insert_epi8,
+       _mm_insert_epi32, _mm_insert_epi64, _mm_extract_epi8, mm_extract_epi32,
+       _mm_extract_epi64, _mm_mpsadbw_epu8, _mm_cmpistrm, _mm_cmpistri,
+       _mm_cmpestrm, _mm_cmpestri, _mm_cmpistra, _mm_cmpistrc, _mm_cmpistro,
+       _mm_cmpistrs, _mm_cmpistrz, _mm_cmpestra, _mm_cmpestrc, _mm_cmpestro,
+       _mm_cmpestrs, _mm_cmpestrz): Ditto.
+       * config/i386/tmmintrin.h (_mm_alignr_epi8, _mm_alignr_pi8): Ditto.
+       * config/i386/xmmintrin.h (_mm_shuffle_ps, _mm_extract_pi16, _m_pextrw,
+       _mm_insert_pi16, _m_pinsrw, _mm_shuffle_pi16, _m_pshufw): Ditto.
+       * config/i386/mmintrin-common.h (_mm_round_pd, _mm_round_sd,
+       _mm_round_ps, _mm_round_ss): Ditto.
+
+2007-12-13  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/34450
+       * params.def (PARAM_SCCVN_MAX_SCC_SIZE): New param.
+       * invoke.texi (sccvn-max-scc-size): Document.
+       * Makefile.in (tree-ssa-sccvn.o): Add $(PARAMS_H) dependency.
+       * tree-ssa-sccvn.h (run_scc_vn): Return true on success, false
+       on error.
+       * tree-ssa-sccvn.c (params.h): Include.
+       (DFS): Return true if all went well, return false as soon as
+       a SCC exceeds the size of PARAM_SCCVN_MAX_SCC_SIZE.
+       (run_scc_vn): Return true if all went well, return false if
+       we aborted during DFS.
+       * tree-ssa-pre.c (execute_pre): Check if SCCVN finished
+       successfully, otherwise bail out.
+
+2007-12-13  Olga Golovanevsky  <olga@il.ibm.com>
+
+       * ipa-struct-reorg.c (is_candidate): Print information to dump 
+       file when the type is initialized.
+       (get_stmt_accesses):  Likewise when a structure has bitfields
+       or field access is too complicate.
+       (safe_cond_expr_check): Likewise for unsafe condition expressions.
+       (exclude_cold_structs): Likewise for cold structures.
+       (collect_structures): Suppress redundant print when there are 
+       no structures to transform.
+       (do_reorg): Print to dump file a number of structures that 
+       will be transformed.
+       (dump_new_types): Print a number of new types to replace 
+       an original structure type.
+       
+2007-12-13  Olga Golovanevsky  <olga@il.ibm.com>
+
+       * doc/invoke.texi (Optimiza Options): Document new -fipa-struct-reorg
+       option and struct-reorg-cold-struct-ratio parameter.
+       
+2007-12-13  Torbjorn Granlund  <tege@swox.com>
+
+       * config/i386/i386.c (ix86_rtx_costs) [MULT]: Check op0 for
+       ZERO_EXTEND when computing costs for widening multiplication.
+
+2007-12-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/30192
+       * config/arm/ieee754-df.S (floatundidf): Fix for wrong sp value on
+       exit when using hard FPA.
+       * config/arm/ieee754-df.S (floatdidf): Likewise.
+
+2007-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/30589
+       * doc/install.texi: Document that for MinGW only runtime 3.12 and
+       later is supported.
+
+2007-12-12  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (is_mem_ref): Ignore STACK_TIE.
+
+2007-12-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/32901
+       * gimplify.c (gimplify_modify_expr_rhs): Handle the case when we
+       are assigning from a constant constructor.
+       Fix wrapping in function comment.
+
+2007-12-12  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.c (s390_O_constraint_str): Limit the range
+       for 'On' to -4G+1..-1.
+       * config/s390/constraints.md: Adjust comment accordingly.
+
+2007-12-11  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/rs6000/rs6000.c (rs6000_emit_prologue): Use frame_reg_rtx
+       for SPE saves.
+
+2007-12-11  Kai Tietz  <kai.tietz@onevision.com>
+
+       * config/i386/cygming.h (DWARF2_UNWIND_INFO): Handle 64-bit
+       target same as 32-bit.
+
+2007-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/34371
+       * tree-vectorizer.h (struct _loop_vec_info): Add num_iters_unchanged
+       field.
+       (LOOP_VINFO_NITERS_UNCHANGED): Define to num_iters_unchanged field.
+       * tree-vectorizer.c (set_prologue_iterations,
+       slpeel_tree_peel_loop_to_edge): Call unshare_expr on
+       LOOP_VINFO_NITERS_UNCHANGED before using it.
+
+2007-12-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/34403
+       * config/i386/i386.c (ix86_expand_movmem): Punt if the count is large.
+       (ix86_expand_setmem): Likewise.
+
+2007-12-10  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+       PR rtl-optimization/34302
+       * auto-inc-dec.c (attempt_change): Change place where move is
+       inserted.
+
+2007-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (gen_array_type_die, gen_descr_array_type_die): For
+       Fortran multi-dimensional arrays use DW_AT_ordering
+       DW_ORD_col_major.
+
+2007-12-10  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR target/32086
+       * config/i386/i386.c (override_options): Enable -fvect-cost-model.
+
+2007-12-10 Uros Bizjak <ubizjak@gmail.com>
+
+       * config/i386/i386.c (ix86_function_regparm): Do not check global_regs
+       array, registers that are members of global_regs are also members of
+       fixed_regs array.  Use REGPARM_MAX to check that no regparm hard
+       register is taken by a fixed register variable.  Check up to and
+       including DI_REG when adjusting regparm value due to fixed regs usage.
+       (rep_prefix_usable): Check fixed_regs array, not global_regs array for
+       available hard registers.
+       (ix86_expand_strlen): Ditto.
+       * config/i386/i386.md (strmov): Ditto.
+       (cmpstrnsi): Ditto.
+
+2007-12-10  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * genopinit.c: Include tm_p.h in generated file.
+
+       * config/arm/neon.md (vec_set<mode>_internal): Use INTVAL
+       to extract the integer from operands[2].
+       (vec_setv2di_internal): Likewise.
+
+       * config/arm/arm.c (arm_size_return_regs): Make return type unsigned.
+       (arm_init_neon_builtins): Move code after declarations.
+
+2007-12-10  Hans-Peter Nilsson  <hp@axis.com>
+
+       * reload.c (find_reloads_address_1): To properly mark as an
+       autoincdec, pass X for non-NULL OUT in call to push_reload for
+       autoincdec which can't be trivially used as an address.
+
+2007-12-10  Pranav Bhandarkar  <pranav.bhandarkar@celunite.com>
+           Hans-Peter Nilsson  <hp@axis.com>
+
+       * caller-save.c (insert_one_insn): If inserting before a call_insn
+       then the registers containing the arguments of the call are
+       live_throughout in the new insn.
+
+2007-12-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR middle-end/32889
+       PR target/34091
+       * pa.md: Consolidate HImode and QImode move patterns into one pattern
+       each, eliminating floating-point alternatives.
+       * pa-protos.h (pa_cannot_change_mode_class, pa_modes_tieable_p):
+       Declare functions.
+       * pa-64.h (SECONDARY_MEMORY_NEEDED): Define here.
+       * pa.c (pa_secondary_reload): Use an intermediate general register
+       for copies to/from floating-point register classes.  Simplify code
+       SHIFT_REGS class.  Provide additional comments.
+       (pa_cannot_change_mode_class, pa_modes_tieable_p): New functions.
+       * pa.h (MODES_TIEABLE_P): Use pa_modes_tieable_p.
+       (SECONDARY_MEMORY_NEEDED): Delete define.
+       (INT14_OK_STRICT): Define.
+       (MODE_OK_FOR_SCALED_INDEXING_P): Allow SFmode and DFmode when using
+       soft float.
+       (MODE_OK_FOR_UNSCALED_INDEXING_P): Likewise.
+       (GO_IF_LEGITIMATE_ADDRESS): Use INT14_OK_STRICT in REG+D case for
+       SFmode and DFmode.
+       (LEGITIMIZE_RELOAD_ADDRESS): Use INT14_OK_STRICT in mask selection.
+       Align DImode offsets when generating 64-bit code.
+       * pa32-regs.h (VALID_FP_MODE_P): Remove QImode and HImode.
+       (CANNOT_CHANGE_MODE_CLASS): Define.
+       * pa64-regs.h (VALID_FP_MODE_P): Remove QImode and HImode.
+       (CANNOT_CHANGE_MODE_CLASS): Define using pa_cannot_change_mode_class.
+
+2007-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/22244
+       * langhooks-def.h (LANG_HOOKS_GET_ARRAY_DESCR_INFO): Define.
+       (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
+       * langhooks.h (struct array_descr_info): Forward declaration.
+       (struct lang_hooks_for_types): Add get_array_descr_info field.
+       * dwarf2.h (DW_AT_bit_stride, DW_AT_byte_stride): New.
+       (DW_AT_stride_size, DW_AT_stride): Keep around for Dwarf2
+       compatibility.
+       * dwarf2out.h (struct array_descr_info): New type.
+       * dwarf2out.c (dwarf_attr_name): Rename DW_AT_stride to
+       DW_AT_byte_stride and DW_AT_stride_size to DW_AT_bit_size.
+       (descr_info_loc, add_descr_info_field, gen_descr_array_type_die):
+       New functions.
+       (gen_type_die_with_usage): Call lang_hooks.types.get_array_descr_info
+       and gen_descr_array_type_die.
+
+2007-12-08  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/34391
+       * tree-vect-transform.c (vect_setup_realignment): Mark new
+       symbols for renaming.
+
+2007-12-07  Bob Wilson  <bob.wilson@acm.org>
+       
+       * config/xtensa/xtensa.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
+       (ASM_OUTPUT_DWARF_PCREL): Define.
+       
+2007-12-07  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/34382
+       * opts.c (common_handle_option): Handle OPT_fforce_addr.
+
+2007-12-07  Aldy Hernandez  <aldyh@redhat.com>
+
+       * m32c.h (LEGITIMIZE_ADDRESS): Use WIN instead of win.
+       (LEGITIMIZE_RELOAD_ADDRESS): Same.
+
+2007-12-07  Samuel Tardieu  <sam@rfc1149.net>
+
+       PR ada/29157
+       * doc/install.texi: Explain how to check for a clean environment when
+       building GNAT.
+
+2007-12-07  Richard Guenther  <rguenther@suse.de>
+
+       * tree-profile.c (gcov_type_tmp_var): New global variable.
+       (tree_gen_edge_profiler): Use a single shared variable decl per
+       function for edge counter incrementing.
+       (tree_profiling): Re-set the shared variable.
+
+2007-12-06  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.c (xtensa_va_start): Add prototype.
+
+2007-12-06  Tom Tromey  <tromey@redhat.com>
+
+       PR c/29172:
+       * c-opts.c (c_common_parse_file): Call cpp_clear_file_cache.
+
+2007-12-06  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_function_ok_for_sibcall): Check
+       targetm.binds_local_p as well as DECL_EXTERNAL.
+
+2007-12-06  Harsha Jagasia <harsha.jagasia@amd.com>
+
+       * tree-vectorizer.c (slpeel_add_loop_guard): Gimplify the condition.
+       (set_prologue_iterations): New. Set the prologue iterations to total
+       number of scalar iterations if the cost model check indicates that
+       scalar code should be generated.
+       (slpeel_tree_peel_loop_to_edge): Add a new parameter and code for 
+       generating the cost condition for epilog. Call
+       set_prologue_iterations to generate cost condition for prolog.
+       (new_loop_vec_info): Initialize LOOP_VINFO_NITERS_UNCHANGED.
+       * tree-vectorizer.h (LOOP_VINFO_NITERS_UNCHANGED): New.
+       (slpeel_tree_peel_loop_to_edge): Update declaration.
+       (set_prologue_iterations): New declaration.
+       * tree-vect-analyze.c (vect_analyze_loop_form): Update 
+       LOOP_VINFO_NITERS_UNCHANGED.
+       * tree-vect-transform.c
+       (vect_estimate_min_profitable_iters): Add new parameter and
+       code to  check if run time cost model test is needed.
+       Remove code that adds builtin vectorization cost to scalar
+       outside cost for the run time cost model test. If run time
+       cost model test is needed add the appropriate guard cost to
+       the scalar outside cost. The guard cost depends on whether
+       the guard is generated at versioning or at prolog generation
+       or at epilog generation. Change cost model equation to include
+       scalar outside cost.
+       (conservative_cost_threshold): New. Return the less conservative
+       profitability threshold between the cost model threshold and the
+       user defined vectorization threshold.
+       (vect_do_peeling_for_loop_bound): Call conservative_cost_threshold.
+       (vect_do_peeling_for_alignment): Same.
+       (vect_loop_versioning): Same.
+       (vect_create_cond_for_align_checks): ANDs the cost model condition
+       with the alignment condition.
+       (vect_transform_loop): Call loop versioning only when there is a
+       misalignment or an aliasing problem.
+
+2007-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/20983
+       * tree-ssa-ccp.c (optimize_stdarg_builtin): New function.
+       (execute_fold_all_builtins): Call it for BUILT_IN_VA_START,
+       BUILT_IN_VA_COPY and BUILT_IN_VA_END.
+
+       * target.h (struct ggc_target): Add expand_builtin_va_start hook.
+       * target-def.h (TARGET_EXPAND_BUILTIN_VA_START): Define.
+       (TARGET_INITIALIZER): Add it.
+       * builtins.c (expand_builtin_va_start): Use
+       targetm.expand_builtin_va_start hook instead of
+       EXPAND_BUILTIN_VA_START macro.
+       * alpha/alpha.c (alpha_va_start): Made static.
+       (override_options): Clear targetm.expand_builtin_va_start if
+       TARGET_UNICOSMK.
+       (TARGET_EXPAND_BUILTIN_VA_START): Define.
+       * alpha/unicosmk.h (EXPAND_BUILTIN_VA_START): Remove.
+       * alpha/alpha.h (EXPAND_BUILTIN_VA_START): Remove.
+       * alpha/alpha-protos.h (alpha_va_start): Remove prototype.
+       * xtensa/xtensa.h (EXPAND_BUILTIN_VA_START): Remove.
+       * xtensa/xtensa.c (TARGET_EXPAND_BUILTIN_VA_START): Define.
+       (xtensa_va_start): Made static.
+       * xtensa/xtensa-protos.h (xtensa_va_start): Remove prototype.
+       * pa/pa-protos.h (hppa_va_start): Remove prototype.
+       * pa/pa.h (EXPAND_BUILTIN_VA_START): Remove.
+       * pa/pa.c (hppa_va_start): Made static, add prototype.
+       (TARGET_EXPAND_BUILTIN_VA_START): Define.
+       * frv/frv.c (frv_expand_builtin_va_start): Made static, add prototype.
+       (TARGET_EXPAND_BUILTIN_VA_START): Define.
+       * frv/frv-protos.h (frv_expand_builtin_va_start): Remove prototype.
+       * frv/frv.h (EXPAND_BUILTIN_VA_START): Remove.
+       * i386/i386.c (override_options): Clear
+       targetm.expand_builtin_va_start if -m32 or 64-bit MS ABI.
+       (ix86_va_start): Made static.
+       (TARGET_EXPAND_BUILTIN_VA_START): Define.
+       * i386/i386.h (EXPAND_BUILTIN_VA_START): Remove.
+       * i386/i386-protos.h (ix86_va_start, ix86_va_arg): Remove prototypes.
+       * iq2000/iq2000-protos.h (iq2000_va_start): Remove prototype.
+       * iq2000/iq2000.h (EXPAND_BUILTIN_VA_START): Remove.
+       * iq2000/iq2000.c (iq2000_va_start): Made static, add prototype.
+       (TARGET_EXPAND_BUILTIN_VA_START): Define.
+       * rs6000/rs6000-protos.h (rs6000_va_start): Remove prototype.
+       * rs6000/rs6000.c (rs6000_va_start): Made static, add prototype.
+       (TARGET_EXPAND_BUILTIN_VA_START): Define.
+       (rs6000_override_options): Clear targetm.expand_builtin_va_start if
+       DEFAULT_ABI != ABI_V4.
+       * rs6000/rs6000.h (EXPAND_BUILTIN_VA_START): Remove.
+       * spu/spu.c (spu_va_start): Made static, add prototype.
+       (TARGET_EXPAND_BUILTIN_VA_START): Define.
+       * spu/spu.h (EXPAND_BUILTIN_VA_START): Remove.
+       * spu/spu-protos.h spu_va_start): Remove prototype.
+       * stormy16/stormy16.h (EXPAND_BUILTIN_VA_START): Remove.
+       * stormy16/stormy16-protos.h (xstormy16_expand_builtin_va_start):
+       Remove prototype.
+       * stormy16/stormy16.c (xstormy16_expand_builtin_va_start): Made static.
+       (TARGET_EXPAND_BUILTIN_VA_START): Define.
+       * s390/s390-protos.h (s390_va_start): Remove prototype.
+       * s390/s390.c (s390_va_start): Made static.
+       (TARGET_EXPAND_BUILTIN_VA_START): Define.
+       * s390/s390.h (EXPAND_BUILTIN_VA_START): Remove.
+       * mn10300/mn10300.h (EXPAND_BUILTIN_VA_START): Remove.
+       * mn10300/mn10300-protos.h (mn10300_va_start): Remove prototype.
+       * mn10300/mn10300.c (mn10300_va_start): Made static, add prototype.
+       (TARGET_EXPAND_BUILTIN_VA_START): Define.
+       * arc/arc.c (arc_va_start): Made static, add prototype.
+       (TARGET_EXPAND_BUILTIN_VA_START): Define.
+       * arc/arc.h (EXPAND_BUILTIN_VA_START): Remove.
+       * arc/arc-protos.h (arc_va_start): Remove prototype.
+       * mt/mt-protos.h (mt_va_start): Remove prototype.
+       * sparc/sparc.c (sparc_va_start): Made static, add prototype.
+       (TARGET_EXPAND_BUILTIN_VA_START): Define.
+       * sparc/sparc-protos.h (sparc_va_start): Remove prototype.
+       * sparc/sparc.h (EXPAND_BUILTIN_VA_START): Remove.
+       * sh/sh.c (sh_va_start): Made static, add prototype.
+       (TARGET_EXPAND_BUILTIN_VA_START): Define.
+       * sh/sh-protos.h (sh_va_start): Remove prototype.
+       * sh/sh.h (EXPAND_BUILTIN_VA_START): Remove.
+       * mips/mips-protos.h (mips_va_start): Remove prototype.
+       * mips/mips.h (EXPAND_BUILTIN_VA_START): Remove.
+       * mips/mips.c (mips_va_start): Made static.
+       (TARGET_EXPAND_BUILTIN_VA_START): Define.
+
+2007-12-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * tree-ssa-loop.c (gate_tree_parallelize_loops): Return true when
+       "flag_tree_parallelize_loops > 1".
+       
+2007-12-06  Zdenek Dvorak  <ook@ucw.cz>
+           Dorit Nuzman  <dorit@il.ibm.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/34005
+       * tree-gimple.c (is_gimple_formal_tmp_rhs): Add a case for COND_EXPR.
+       * gimplify.c (gimplify_ctx): Add a new member allow_rhs_cond_expr.
+       (gimplify_pure_cond_expr): New function.
+       (generic_expr_could_trap_p): New function.
+       (gimplify_cond_expr): Call gimplify_pure_cond_expr.
+       (force_gimple_operand): Initialize new field allow_rhs_cond_expr.
+
+2007-12-06  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.c (s390_emit_stack_tie): New function.
+       (s390_emit_prologue): Emit a stack tie when writing to the
+       f8-f15 stack slots.
+       * config/s390/s390.md ("stack_tie"): New insn definition.
+
+2007-12-06  Ben Elliston  <bje@au.ibm.com>
+
+       * SERVICE: Remove.
+       * doc/sourcebuild.texi (Miscellaneous Docs): Remove SERVICE item.
+
+2007-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/34337
+       * fold-const.c (fold_binary) <case BIT_IOR_EXPR>: Don't minimize
+       number of bits set in C1 if a mode mask for some mode can be used
+       instead.
+
+2007-12-05  Bernhard Fischer  <aldot@gcc.gnu.org>
+
+       * varasm.c (merge_weak, weak_finish, assemble_alias): Commentary typo
+       fixes.
+
+2007-12-05  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/34138
+       * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
+       Do not forward propagate addresses if that changes volatileness of
+       the pointed-to type.
+
+2007-12-05  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/34312
+       * config/i386/i386.c (ix86_function_regparm): Also check for fixed
+       registers when checking that regparm registers are available.
+       Lower regparm value due to fixed registers usage in addition to
+       global regs usage.
+
+2007-12-05  Bernhard Fischer  <aldot@gcc.gnu.org>
+
+       * sparseset.c: Include config.h and system.h before sparseset.h.
+       * sparseset.h: Remove inclusion of system.h.
+
+2007-12-05  Jakub Jelinek  <jakub@redhat.com>
+           Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * optabs.c (init_insn_codes): New function.
+       (new_optab): Delete.
+       (init_optab, init_optabv): Don't call new_optab.
+       (init_convert_optab): Don't clear the insn codes.
+       (init_optabs): Call init_insn_codes.
+
+2007-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-low.c (optimize_omp_library_calls): New function.
+       (expand_omp_parallel): Call it if optimizing.
+
+       PR middle-end/34134
+       * stmt.c (expand_stack_restore): Call expand_normal on var to get
+       rtx for it instead of assuming it will be a VAR_DECL.
+
 2007-12-04  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
 
        * c-parser (c_parser_statement_after_labels): Move error from here...
 
 2007-12-03  Steven Bosscher  <stevenb.gcc@gmail.com>
 
-       PR33713
+       PR middle-end/33713
        * doc/invoke.texi: Remove -fforce-addr documentation.
        * expr.c (emit_move_insn): Remove use of flag_force_addr.
        (expand_expr_real_1): Same.
 
 2007-11-30  Jan Hubicka  <jh@suse.cz>
 
-       * ggc-common.c (dump_ggc_loc_statistics): Reset ggc_force_collect
-       flag.
+       * ggc-common.c (dump_ggc_loc_statistics): Reset ggc_force_collect flag.
 
 2007-11-30  Seongbae Park <seongbae.park@gmail.com>
 
        * tree-vrp.c (adjust_range_with_scev): Clear scev cache.
        (record_numbers_of_iterations): New function.
        (execute_vrp): Cache the numbers of iterations of loops.
-       * tree-scalar-evolution.c (scev_reset_except_niters):
-       New function.
+       * tree-scalar-evolution.c (scev_reset_except_niters): New function.
        (scev_reset): Use scev_reset_except_niters.
        * tree-scalar-evolution.h (scev_reset_except_niters): Declare.
 
 
 2007-11-26  Andreas Krebbel  <krebbel1@de.ibm.com>
 
-       PR 34081/C++
+       PR c++/34081
        * c-decl.c (store_parm_decls): Pass 'false' for the new
        allocate_struct_function parameter.
        * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
 
        PR target/34215
        * config/i386/i386.md (truncdfsf2): Select SLOT_TEMP stack slot if
-       virtual registers are instantiated.
+       virtual registers are already instantiated.
        (truncxf<mode>2): Ditto.
        (floatsi<mode>2): Ditto.
        (floatdisf2): Ditto.
 
        * config/mn10300/mn10300.md: (call_internal): Remove mode on
        operand 0 in order to match UNPSEC'ed calls generated in PIC mode.
-        (call_value_internal): Remove mode on operands 0 and 1 in order to
+       (call_value_internal): Remove mode on operands 0 and 1 in order to
        match UNPSEC'ed calls generated in PIC mode.
-        (GOTaddr2picreg): Use copy_rtx to prevent sharing an rtx between
+       (GOTaddr2picreg): Use copy_rtx to prevent sharing an rtx between
        two insns.
 
 2007-11-26  Richard Guenther  <rguenther@suse.de>
 2007-11-23  Hans-Peter Nilsson  <hp@axis.com>
 
        * reload.c (find_reloads_address_1) <autoincdec cases>:
-       Call REG_OK_FOR_CONTEXT with the autoincdec code, not
-       outer_code.
+       Call REG_OK_FOR_CONTEXT with the autoincdec code, not outer_code.
 
 2007-11-23  Richard Guenther  <rguenther@suse.de>
            Michael Matz  <matz@suse.de>
 
 2007-11-07  Tom Tromey  <tromey@redhat.com>
 
-       * tree-ssa-structalias.c (ipa_pta_execute): Rename 'cfun' to
-       'func'. 
+       * tree-ssa-structalias.c (ipa_pta_execute): Rename 'cfun' to 'func'. 
        * tree-parloops.c (create_loop_fn): Use set_cfun.
        * gengtype.c (open_base_files): Emit #undef cfun.
        * ipa-struct-reorg.c (do_reorg_1): Use set_cfun.
 
        * tree-ssa-alias.c (create_overlap_variables_for): Make sure
        to only create SFTs if we also create variable infos for PTA.
-       * tree-ssa-structalias.c (set_uids_in_ptset): Add all overlapping
-       SFTs.
+       * tree-ssa-structalias.c (set_uids_in_ptset): Add all overlapping SFTs.
 
 2007-11-15  Richard Guenther  <rguenther@suse.de>
 
 
 2007-11-13  Michael Meissner  <michael.meissner@amd.com>
 
-       * config/i386/i386.c (ix86_sse5_valid_op_p): Put type on separate
-       line.
+       * config/i386/i386.c (ix86_sse5_valid_op_p): Put type on separate line.
 
 2007-11-13  Sterling Augustine  <sterling@tensilica.com>
            Bob Wilson  <bob.wilson@acm.org>
 2007-11-13  Diego Novillo  <dnovillo@google.com>
 
        PR tree-optimization/33870
-       * tree.h (strcut tree_memory_tag): add field unpartitionable.
-       remove field in_nested_struct.
-       (struct tree_struct_field_tag): add field nesting_level.
-       (sft_in_nested_struct): remove.
-       (sft_nesting_level): define.
-       (sft_unpartitionable_p): define.
-       * tree-ssa-alias.c (mem_sym_score): if mp->var is not
+       * tree.h (strcut tree_memory_tag): Add field unpartitionable.
+       Remove field in_nested_struct.
+       (struct tree_struct_field_tag): Add field nesting_level.
+       (sft_in_nested_struct): Remove.
+       (sft_nesting_level): Define.
+       (sft_unpartitionable_p): Define.
+       * tree-ssa-alias.c (mem_sym_score): If mp->var is not
        partitionable, return long_max.
-       (compute_memory_partitions): do not partition sfts marked
+       (compute_memory_partitions): Do not partition sfts marked
        unpartitionable.
-       (create_sft): add argument nesting_level.  set
-       sft_nesting_level with it.  update all users.
-       (create_overlap_variables_for): show nesting level.
-       * tree-dfa.c (dump_subvars_for): likewise.
-       (dump_variable): likewise.
-       show whether the sft is partitionable or not.
-       * tree-flow.h (struct fieldoff): remove field
-       in_nested_struct.
-       add field nesting_level.
-       * tree-ssa-structalias.c (struct variable_info): remove
+       (create_sft): Add argument nesting_level.  Set
+       sft_nesting_level with it.  Update all users.
+       (create_overlap_variables_for): Show nesting level.
+       * tree-dfa.c (dump_subvars_for): Likewise.
+       (dump_variable): Likewise. Show whether the sft is
+       partitionable or not.
+       * tree-flow.h (struct fieldoff): Remove field in_nested_struct.
+       Add field nesting_level.
+       * tree-ssa-structalias.c (struct variable_info): Remove
        field in_nested_struct.
-       (push_fields_onto_fieldstack): add argument
-       nesting_level.  update all users.
-       update documentation.
-       update pair->nesting_level with nesting_level.
-       make recursive calls with nesting_level + 1.
-       (set_uids_in_ptset): if an sft is added to the points-to
-       set, mark it as unpartitionable.
-       * tree-ssa-operands.c (ref_nesting_level): new.
-       (add_vars_for_offset): call it.
-       add argument full_ref.  update
-       callers.
-       if var is inside a nested structure and the nesting level
+       (push_fields_onto_fieldstack): Add argument nesting_level.
+       Update all users.  Update documentation. Update pair->nesting_level
+       with nesting_level.  Make recursive calls with nesting_level + 1.
+       (set_uids_in_ptset): If an sft is added to the points-to set,
+       mark it as unpartitionable.
+       * tree-ssa-operands.c (ref_nesting_level): New.
+       (add_vars_for_offset): Call it.  Add argument full_ref. Update
+       callers.  If var is inside a nested structure and the nesting level
        of full_ref is lower than the nesting level of var,
        adjust offset by the offset of var.
 
        PR tree-optimization/33953
        * tree-vect-transform.c (vectorizable_operation): In case of SLP,
        allocate vec_oprnds1 according to the number of created vector
-       statements. In case of shift with scalar argument, store scalar operand
-       for every vector statement to be created for the SLP node. Fix a
-       comment.
+       statements. In case of shift with scalar argument, store scalar
+       operand for every vector statement to be created for the SLP node.
+       Fix a comment.
 
 2007-11-10  Steven Bosscher  <stevenb.gcc@gmail.com>
 
 
 2007-11-09  Richard Guenther  <rguenther@suse.de>
 
-       * tree-flow.h (struct ptr_info_def): Make escape_mask a
-       ENUM_BITFIELD.
+       * tree-flow.h (struct ptr_info_def): Make escape_mask a ENUM_BITFIELD.
        (struct ptr_info_def): Likewise.
        (enum escape_type): Also use bit zero.
 
        PR 33870
        * tree.h (struct tree_struct_field_tag): Add field in_nested_struct.
        (SFT_IN_NESTED_STRUCT): Define.
-       * tree-dfa.c (dump_subvars_for): Show offset of each
-       sub-var.
+       * tree-dfa.c (dump_subvars_for): Show offset of each sub-var.
        * tree-flow.h (struct fieldoff): Add field in_nested_struct.
        * tree-ssa-structalias.c (struct variable_info): Likewise.
        (push_fields_onto_fieldstack): If OFFSET is positive,
        (set_uids_in_ptset): Set SFT_IN_NESTED_STRUCT from the
        variable info object.
        * tree-ssa-operands.c (add_vars_for_offset): If VAR
-       belongs to a nested structure, adjust OFFSET by
-       SFT_OFFSET(VAR).
+       belongs to a nested structure, adjust OFFSET by SFT_OFFSET(VAR).
 
 2007-11-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
 
 2007-11-06  Diego Novillo  <dnovillo@google.com>
 
-       * tree-flow.h (struct fieldoff): Reformat comment.
-       Document fields.
+       * tree-flow.h (struct fieldoff): Reformat comment. Document fields.
        * tree-ssa-operands.c: Tidy top-level comments.
        (add_vop): Likewise.
        (add_vars_for_offset): Tidy parameter formatting..
 
        PR target/30961
        * reload1.c (find_reloads): Also check in_reg when handling a
-       simple move with an input reload and a destination of a hard
-       register.
+       simple move with an input reload and a destination of a hard register.
 
 2007-11-06  Maxim Kuvyrkov  <maxim@codesourcery.com>
 
 2007-11-05  Mark Mitchell  <mark@codesourcery.com>
 
        PR target/33579
-       * tree.h (DECL_INIT_PRIORITY): Do not require
-       DECL_HAS_INIT_PRIORITY_P.
+       * tree.h (DECL_INIT_PRIORITY): Do not require DECL_HAS_INIT_PRIORITY_P.
        (DECL_FINI_PRIORITY): Likewise.
        * tree.c (decl_init_priority_lookup): Remove assert.
        (decl_fini_priority_insert): Likewise.
        (compare_dtor): Likewise.
        (cgraph_build_cdtor_fns): Sort the functions by priority before
        calling build_cdtor.
-       (cgraph_build_static_cdtor): Put the priority in the function's
-       name.
+       (cgraph_build_static_cdtor): Put the priority in the function's name.
 
 2007-11-05  H.J. Lu  <hongjiu.lu@intel.com>
 
        (in_safe_group_barrier): New variable.
        (rws_update): Remove first argument, always set rws_sum array.
        (rws_access_regno): Use rws_insn_set macro.  Only call rws_update
-       or update rws_sum if !in_safe_group_barrier, adjust rws_update
-       args.
+       or update rws_sum if !in_safe_group_barrier, adjust rws_update args.
        (rtx_needs_barrier): Use rws_insn_test macro.
        (safe_group_barrier_needed): Don't save/restore rws_sum array,
        instead set/clear in_safe_group_barrier flag.
 2007-11-02  Diego Novillo  <dnovillo@google.com>
 
        * langhooks.h (struct lang_hooks_for_callgraph): Remove third
-       argument from function pointer ANALYZE_EXPR.  Update all
-       users.
+       argument from function pointer ANALYZE_EXPR.  Update all users.
        * cgraph.c (debug_cgraph_node): New.
        (debug_cgraph): New.
 
 2007-10-31  Richard Sandiford  <rsandifo@nildram.co.uk>
 
        PR target/33948
-       * config/mips/mips.c (mips_fpr_return_fields): Fix SCALAR_TYPE_P
-       check.
+       * config/mips/mips.c (mips_fpr_return_fields): Fix SCALAR_TYPE_P check.
 
 2007-10-31  Andreas Krebbel  <krebbel1@de.ibm.com>
 
        * config/rs6000/rs6000.opt: Rename -mdfp option to -mhard-dfp.
 
-       * config/s390/s390.c: (override_options): Replace -mhard-dfp/-msoft-dfp
-       with -mhard-dfp/-mno-hard-dfp.
+       * config/s390/s390.c: (override_options): Replace
+       -mhard-dfp/-msoft-dfp with -mhard-dfp/-mno-hard-dfp.
        * config/s390/s390.opt: Likewise.
        * config/s390/s390.h: Add MASK_HARD_DFP to the TARGET_DEFAULT
        definition.
        SSA_NAME pointers.
 
 2007-10-22  Seongbae Park <seongbae.park@gmail.com>
-       David S. Miller  <davem@davemloft.net>
+           David S. Miller  <davem@davemloft.net>
 
        * df-scan.c (df_get_call_refs): Mark global registers as both a
        DF_REF_REG_USE and a non-clobber DF_REF_REG_DEF.
 2007-10-19  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/32921
-       * tree.c (build_array_type): Do not re-layout unbound array
-       types.
+       * tree.c (build_array_type): Do not re-layout unbound array types.
 
 2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
 
 
        PR middle-end/33669
        * ra-conflict.c (record_one_conflict_between_regnos,
-       set_conflicts_for_earlyclobber, global_conflicts): Improved
-       logging.
+       set_conflicts_for_earlyclobber, global_conflicts): Improved logging.
        (global_conflicts): Removed incorrect check.
 
 2007-10-09  Richard Sandiford  <rsandifo@nildram.co.uk>
 
        PR tree-optimization/33655
        PR middle-end/22156
-       * tree-sra.c (bitfield_overlaps_p): Handle array and complex
-       elements.
+       * tree-sra.c (bitfield_overlaps_p): Handle array and complex elements.
 
 2007-10-06  Alexandre Oliva  <aoliva@redhat.com>
 
 
 2007-10-04  Geoffrey Keating  <geoffk@apple.com>
 
-       * cgraphunit.c (cgraph_build_static_cdtor): Don't set
-       DECL_IGNORED_P.
+       * cgraphunit.c (cgraph_build_static_cdtor): Don't set DECL_IGNORED_P.
 
 2007-10-04  Anatoly Sokolov <aesok@post.ru>
 
 2007-10-02  Richard Sandiford  <rsandifo@nildram.co.uk>
 
        PR middle-end/33617
-       * expr.c (expand_expr_addr_expr_1): Pass CONSTRUCTORs to
-       expand_expr.
+       * expr.c (expand_expr_addr_expr_1): Pass CONSTRUCTORs to expand_expr.
 
 2007-10-02  David Daney  <ddaney@avtrex.com>
 
        (canon_type_for_field): New.
        (try_instantiate_multiple_fields): New.  Infer widest possible
        access mode from decl or member type, but clip it at word
-       size, and only widen it if a field crosses an alignment
-       boundary.
+       size, and only widen it if a field crosses an alignment boundary.
        (instantiate_missing_elements): Use them.
        (generate_one_element_ref): Handle BIT_FIELD_REFs.
        (scalar_bitfield_p): New.
        (sra_build_assignment): Optimize assignments from scalarizable
-       BIT_FIELD_REFs.  Use BITS_BIG_ENDIAN to determine shift
-       counts.
+       BIT_FIELD_REFs.  Use BITS_BIG_ENDIAN to determine shift counts.
        (REPLDUP): New.
        (sra_build_bf_assignment): New.  Optimize assignments to
        scalarizable BIT_FIELD_REFs.
        BIT_FIELD_REFs.  Explode or sync needed members for
        BIT_FIELD_REFs accesses or assignments.  Use REPLDUP.
        (scalarize_copy): Use REPLDUP.
-       (scalarize_ldst): Move assert before dereference.  Adjust EH
-       handling.
+       (scalarize_ldst): Move assert before dereference.  Adjust EH handling.
        (dump_sra_elt_name): Handle BIT_FIELD_REFs.
 
 2007-10-01  Paolo Bonzini  <bonzini@gnu.org>
 2007-09-25  DJ Delorie  <dj@redhat.com>
 
        PR target/33551
-       * config/m32c/m32c.c (m32c_immd_dbl_mov): Use INTVAL instead of
-       XINT.
+       * config/m32c/m32c.c (m32c_immd_dbl_mov): Use INTVAL instead of XINT.
 
 2007-09-25  Michael Meissner  <michael.meissner@amd.com>
 
 2007-09-22  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/33146
-       * fold-const.c (fold_binary): Use the original tree
-       for negating.
+       * fold-const.c (fold_binary): Use the original tree for negating.
        * tree.h (STRIP_SIGN_NOPS): Converting from or to pointer
        also changes "sign".
 
 
        * doc/tm.texi (LIBGCC2_UNWIND_ATTRIBUTE): Document.
        * unwind-generic.h (LIBGCC2_UNWIND_ATTRIBUTE): Define.
-       (_Unwind_RaiseException): Add LIBGCC2_UNWIND_ATTRIBUTE to
-       declaration.
+       (_Unwind_RaiseException): Add LIBGCC2_UNWIND_ATTRIBUTE to declaration.
        (_Unwind_ForcedUnwind): Likewise.
        (_Unwind_Resume): Likewise.
        (_Unwind_Resume_or_Rethrow): Likewise.
 
        PR target/32337
        * config/ia64/ia64.c (find_gr_spill): Don't decrement
-       current_frame_info.n_local_regs.  Don't return emitted local
-       regs.
+       current_frame_info.n_local_regs.  Don't return emitted local regs.
        (ia64_compute_frame_size): Improve unwind hack to put
        RP, PFS, FP in that order by allowing some of the registers
        been already emitted, as long as they are emitted to the
        pointer to hold the argument.
        (function_args_iter_cond): Inline function to return the next
        argument.
-       (function_args_iter_cond_next): Advance the function args
-       iterator.
-       (stdarg_p): New function, return true if variable argument
-       function.
-       (prototype_p): New function, return true if function is
-       prototyped.
+       (function_args_iter_cond_next): Advance the function args iterator.
+       (stdarg_p): New function, return true if variable argument function.
+       (prototype_p): New function, return true if function is prototyped.
        (function_args_count): New function, count the number of arguments
        of a function.
 
        * tree.c (stdarg_p): New function, return true if variable
        argument function.
-       (prototype_p): New function, return true if function is
-       prototyped.
+       (prototype_p): New function, return true if function is prototyped.
 
        * config/i386/i386.h (TARGET_SSE5): New macro for SSE5.
        (TARGET_ROUND): New macro for the round/ptest instructions which
 2007-09-12  Jan Hubicka  <jh@suse.cz>
 
        PR target/33393
-       * i386.md (floatsisf2_mixed_memory, floatsisf2_sse_memory): Disable
-       for !SSE_MATH
+       * config/i386/i386.md (floatsisf2_mixed_memory, floatsisf2_sse_memory):
+       Disable for !SSE_MATH
 
 2007-09-12  Christian Bruel  <christian.bruel@st.com>
 
 
 2007-09-12  Ira Rosen  <irar@il.ibm.com>
 
-       * params.def (PARAM_MIN_VECT_LOOP_BOUND): Change default and minimum 
-       to 1.
+       * params.def (PARAM_MIN_VECT_LOOP_BOUND): Change default and
+       minimum to 1.
 
 2007-09-11  James E. Wilson  <wilson@specifix.com>
 
 
 2007-09-11  Zdenek Dvorak  <ook@ucw.cz>
 
-       * fold-const.c (extract_muldiv_1): Do not simplify
-       var * c * c to var.
+       * fold-const.c (extract_muldiv_1): Do not simplify var * c * c to var.
 
 2007-09-11  Jan Hubicka <jh@suse.cz>
 
-       * i386.h (ix86_tune_indices): Add X86_TUNE_INTER_UNIT_CONVERSIONS.
+       * config/i386/i386.h (ix86_tune_indices): Add
+       X86_TUNE_INTER_UNIT_CONVERSIONS.
        (TARGET_INTER_UNIT_CONVERSIONS): New.
-       * i386.md (floatsi expanders): Remove redundant check for SImode
-       source; offload to memory when asked for.
+       * config/i386/i386.md (floatsi expanders): Remove redundant check
+       for SImode source; offload to memory when asked for.
        (floatsisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse
        floatdisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse):
        Update conditions;
 
 2007-09-09  H.J. Lu  <hongjiu.lu@intel.com>
 
-       * i386.md (*floatsisf2_mixed_vector): Use cvtdq2ps instead
+       * config/i386/i386.md (*floatsisf2_mixed_vector): Use cvtdq2ps instead
        of cvtpq2ps.
        (*floatsisf2_sse_vector): Likewise.
 
 2007-09-09  Jan Hubicka  <jh@suse.cz>
            Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
 
-       * i386.h (ix86_tune_indices): Add X86_USE_VECTOR_CONVERTS.
+       * config/i386/i386.h (ix86_tune_indices): Add X86_USE_VECTOR_CONVERTS.
        (TARGET_USE_VECTOR_CONVERTS): New.
-       * i386.md: New post-reload splitters for converting SF to DF and DF to
-       SF.
+       * config/i386/i386.md: New post-reload splitters for converting
+       SF to DF and DF to SF.
        (floatsi* expander): Special case vector conversions.
        (floatsisf2_mixed_vector, floatsisf2_sse_vector_nointernunit,
        floatsisf2_sse_vector_internunit, floatsisf2_sse_vector,
        (floatsisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse):
        Disable when doing vector converts.
        (floatsi<mode>2_i387): Disable when
-       * sse.md (vec_dupv2df): Export.
-       * i386.c (ix86_tune_features): Enable SSE conversions.
+       * config/i386/sse.md (vec_dupv2df): Export.
+       * config/i386/i386.c (ix86_tune_features): Enable SSE conversions.
 
 2007-09-09  Richard Guenther  <rguenther@suse.de>
 
 
        2007-09-06  Jan Hubicka  <jh@suse.cz>
  
-       * i386.c (ix86_expand_lround, ix86_expand_round): Update call of
-       real_2expN.
+       * config/i386/i386.c (ix86_expand_lround, ix86_expand_round):
+       Update call of real_2expN.
 
        2007-09-06  Richard Sandiford  <richard@codesourcery.com>
 
 
 2007-09-06  Jan Hubicka  <jh@suse.cz>
 
-       * i386.c (ix86_expand_lround, ix86_expand_round): Update call of
-       real_2expN.
+       * config/i386/i386.c (ix86_expand_lround, ix86_expand_round):
+       Update call of real_2expN.
 
 2007-09-06  Jan Hubicka  <jh@suse.cz>
 
        
 2007-08-19  Jan Hubicka  <jh@suse.cz>
 
-       * i386.md: Replace "rim" and "mri" constraints by "g".
+       * config/i386/i386.md: Replace "rim" and "mri" constraints by "g".
 
 2007-08-19  Joseph Myers  <joseph@codesourcery.com>
 
 
 2007-08-14  Kai Tietz  <kai.tietz@onevision.com>
 
-       * i386.c: (legitimize_address): Move dllimported variable check
-       infront of legitimizing pic address of CONST symbols.
+       * config/i386/i386.c (legitimize_address): Move dllimported variable
+       check infront of legitimizing pic address of CONST symbols.
 
 2007-08-14  Steve Ellcey  <sje@cup.hp.com>
 
 
 2007-08-03  Jan Hubicka  <jh@suse.cz>
 
-       * i386.c (setup_incoming_varargs_64): Tolerate 64bit preferred
-       stack boundary.
+       * config/i386/i386.c (setup_incoming_varargs_64): Tolerate 64bit
+       preferred stack boundary.
 
 2007-08-03  David Edelsohn  <edelsohn@gnu.org>
 
 
 2007-07-23  Jan Hubicka  <jH@suse.cz>
 
-       * i386.c (ix86_secondary_memory_needed): Break out to...
+       * config/i386/i386.c (ix86_secondary_memory_needed): Break out to...
        (inline_secondary_memory_needed): ... here.
        (ix86_memory_move_cost): Break out to ...
        (inline_memory_move_cost): ... here; add support for IN value of 2 for
        extra_headers.
        (x86_64-*-*): Likewise.
 
-       * i386/i386-modes.def (V2QI): New.
+       * config/i386/i386-modes.def (V2QI): New.
 
        * config/i386/i386.c (ix86_handle_option): Handle SSE4.1 and
        SSE4A.
 
        * reg-stack.c (reg_to_stack): Large models don't allow NAN to be
        loaded for constant large models.  Non-large 64bit PIC can do.
-       * i386.h (CASE_VECTOR_MODE): Large PIC cases are 64bit.
+       * config/i386/i386.h (CASE_VECTOR_MODE): Large PIC cases are 64bit.
        * cmodel.h: Add LARGE PIC.
-       * i386.md (UNSPEC_PLTOFF): New.
+       * config/i386/i386.md (UNSPEC_PLTOFF): New.
        (UNSPEC_SET_RIP, UNSPEC_SET_GOT_OFFSET): New; renumber other
        unspecs as needed.
        (*call_1_rex64): Disable for large models.
        (*call_value_1_rex64_large): New.
        (set_rip_rex4): New.
        (set_got_offset_rex64): New.
-       * predicates.md (constant_call_address_operand): For large model
-       constant calls are not possible.
-       * i386-protos.h (construct_plt_address): Declare.
-       * i386.c (override_options): Accept large models.
+       * config/i386/predicates.md (constant_call_address_operand): For
+       large model constant calls are not possible.
+       * config/i386/i386-protos.h (construct_plt_address): Declare.
+       * config/i386/i386.c (override_options): Accept large models.
        (ix86_expand_prologue): Expand large PIC GOT pointer load.
        (legitimate_constant_p): Add new UNSPECs.
        (legitimate_pic_operand_p): Likewise.
            Jan Hubicka  <jh@suse.cz>
 
        PR target/30778
-       * i386.c (counter_mode): New function.
+       * cofnig/i386/i386.c (counter_mode): New function.
        (expand_set_or_movmem_via_loop): Use it.
        (expand_movmem_epilogue): Likewise; fix pasto.
        (ix86_expand_movmem): Do emit guard even for constant counts.
        * Makefile.in (LIBGCOV): Add new constants.
        * libgcov.c (__gcov_merge_ior, __gcov_average_profiler,
        __gcov_ior_profiler): New.
-       * i386.md (movmem/setmem expanders): Add new optional arguments.
+       * config/i386/i386.md (movmem/setmem expanders): Add new optional
+       arguments.
 
 2007-01-28  David Edelsohn  <edelsohn@gnu.org>
 
 
 2007-01-18  Michael Meissner  <michael.meissner@amd.com>
 
-       * i386.c (ix86_compute_frame_layout): Make fprintf's in #if 0 code
-       type correct.
+       * config/i386/i386.c (ix86_compute_frame_layout): Make fprintf's
+       in #if 0 code type correct.
 
 2007-01-18  Jan Hubicka  <jh@suse.cz>