+2006-10-30 J"orn Rennecke <joern.rennecke@st.com>
+
+ * unwind-dw2.c (uw_init_context_1): Fix test that checks if
+ dwarf_reg_size_table has been initialized.
+
+2006-10-30 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (expand_builtin_mathfn_3): Correct coding style.
+ * ddg.c (print_ddg_edge): Likewise.
+ * dwarf2out.c (prune_unused_types_walk): Likewise.
+ * ifcvt.c (noce_try_cmove_arith): Likewise.
+ * langhooks.c (add_builtin_function): Likewise.
+ * reg-stack.c (subst_stack_regs_pat): Likewise.
+ * tree.c (expanded_location): Likewise.
+ * tree-dump.c (dequeue_and_dump): Likewise.
+
+2006-10-30 David Daney <ddaney@avtrex.com>
+
+ * config/mips/linux.h (NO_SHARED_SPECS): Correct syntax error.
+
+2006-10-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/29637
+ * tree.c (make_vector_type): Don't recurse if TYPE_MAIN_VARIANT
+ of the innertype is the innertype itself.
+
+2006-10-30 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * dwarf2out.c (file_name_acquire): Correct typo.
+
+2006-10-29 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree.h (tree_value_handle): Remove struct value_set declaration.
+ Change value_set to bitmap_set.
+ * tree-pretty-print.c (dump_generic_node): Use has_stmt_ann.
+ * tree-vn.c (get_value_handle): Made inline and moved to
+ tree-flow-inline.h.
+ * tree-flow-inline.h: (has_stmt_ann): New function.
+ * tree-ssa-pre.c (expressions): New variable.
+ (next_expression_id): Ditto.
+ (alloc_expression_id): New function.
+ (struct value_set): Remove.
+ (get_expression_id): New function.
+ (get_or_alloc_expression_id): Ditto.
+ (expression_for_id): Ditto.
+ (clear_expression_ids): Ditto.
+ (FOR_EACH_EXPR_ID_IN_SET): New macro.
+ (bb_value_sets): Renamed to bb_bitmap_sets.
+ All value sets replaced with bitmap_sets.
+ Add visited member.
+ (BB_VISITED): New macro.
+ (postorder): New variable.
+ (add_to_value): Removed.
+ (value_exists_in_set_bitmap): Ditto.
+ (value_insert_into_set_bitmap): Ditto.
+ (set_new): Ditto.
+ (set_copy): Ditto.
+ (set_remove): Ditto.
+ (set_contains_value): Ditto.
+ (insert_into_set): Ditto.
+ (set_equal): Ditto.
+ (find_leader): Ditto.
+ (bitmap_set_subtract_from_value_set): Ditto.
+ (value_insert_into_set): Ditto.
+ (print_value_set): Ditto.
+ (debug_value_set): Ditto.
+ (constant_expr_p): New function.
+ (bitmap_remove_from_set): Ditto.
+ (bitmap_insert_into_set): Ditto.
+ (bitmap_set_free): Ditto.
+ (vh_compare): Ditto.
+ (sorted_array_from_bitmap_set): Ditto.
+ (bitmap_set_subtract): Ditto.
+ (bitmap_set_equal): Ditto.
+ (debug_bitmap_set): Ditto.
+ (find_leader_in_sets): Ditto.
+ (bitmap_set_replace_value): Modify for bitmapped sets.
+ (phi_translate): Ditto.
+ (phi_translate_set): Ditto.
+ (bitmap_find_leader): Ditto.
+ (valid_in_sets): Ditto.
+ (union_contains_value): Ditto.
+ (clean): Ditto.
+ (compute_antic_aux): Ditto. Mark changed blocks.
+ (compute_antic): Ditto. Iterate in postorder and only over
+ changing blocks.
+ (compute_rvuse_and_antic_safe): Reuse postorder.
+ (create_component_ref_by_pieces): Modify for bitmapped sets.
+ (find_or_generate_expression): Ditto.
+ (create_expression_by_pieces): Ditto.
+ (insert_into_preds_of_block): Ditto.
+ (changed_blocks): New variable.
+ (do_regular_insertion): Broken out from insert_aux.
+ (insert_aux): Modified for bitmapped sets.
+ (find_existing_value_expr): New function.
+ (create_value_expr_from): Use it.
+ (insert_extra_phis): Removed.
+ (print_bitmap_set): Renamed from bitmap_print_value_set.
+ (compute_avail): Handle RETURN_EXPR.
+ (init_pre): Modify for bitmapped sets.
+ * tree-flow.h (has_stmt_ann): New function.
+
+2006-10-29 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (fold_builtin_floor): Check for the availability of
+ the C99 trunc function before transforming floor into trunc.
+
+2006-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (fold_builtin_hypot): Rearrange recursive
+ transformation before others, and also do ABS_EXPR. When
+ necessary, check flag_unsafe_math_optimizations. When necessary,
+ add fabs.
+
+2006-10-29 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold_comparison): Fold ~X op ~Y as Y op X.
+ Fold ~X op C as X op' ~C, where op' is the swapped comparison.
+ (fold_binary): ~X eq/ne C is now handled in fold_comparison.
+ Fold -X eq/ne -Y as X eq/ne Y.
+
+2006-10-29 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips.md (mul<mode>3): Check ISA_HAS_MUL3 rather than
+ GENERATE_MULT3_<MODE>. Restrict the test to SImode. Use ISA_HAS_MUL3
+ rather than GENERATE_MULT3_SI in the various define_peephole2s.
+ (mulsi3_mult3): Depend on ISA_HAS_MUL3 rather than GENERATE_MULT3_SI.
+ Use an inclusive test for "mult" rather than "mul".
+ (rotr<mode>3): Depend on ISA_HAS_ROR.
+ * config/mips/mips.h (GENERATE_MULT3_SI): Delete in favor of
+ ISA_HAS_MUL3.
+ (GENERATE_MULT3_DI): Delete.
+ (ISA_HAS_64BIT_REGS): Use consistent formatting.
+ (ISA_HAS_MUL3): New macro.
+ (ISA_HAS_CONDMOVE, ISA_HAS_8CC): Use consistent formatting.
+ (ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB): Likewise.
+ (ISA_HAS_CLZ_CLO): Likewise.
+ (ISA_HAS_DCLZ_DCLO): Delete.
+ (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC): Require !TARGET_MIPS16.
+ (ISA_HAS_MACC): Require !TARGET_MIPS16 for all ISAs, not just
+ the VR4120 and VR4130.
+ (ISA_HAS_MACCHI): Use consistent formatting.
+ (ISA_HAS_ROTR_SI, ISA_HAS_ROTR_DI): Delete in favor of...
+ (ISA_HAS_ROR): ...this new macro.
+ (ISA_HAS_PREFETCH, ISA_HAS_PREFETCHX): Use consistent formatting.
+ (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS): Likewise.
+ (ISA_HAS_LOAD_DELAY): Use ISA_MIPS1.
+
+2006-10-29 Roger Sayle <roger@eyesopen.com>
+
+ PR tree-optimization/15458
+ * fold-const.c (fold_binary): Optimize ~X ^ C as X ^ ~C, where C
+ is a constant.
+
+2006-10-29 Richard Guenther <rguenther@suse.de>
+
+ * config/i386/i386-protos.h (ix86_expand_trunc): Declare.
+ (ix86_expand_truncdf_32): Likewise.
+ * config/i386/i386.c (ix86_expand_trunc): New function expanding
+ trunc inline for SSE math and -fno-trapping-math and if not
+ optimizing for size.
+ (ix86_expand_truncdf_32): Same for DFmode on 32bit archs.
+ * config/i386/i386.md (btruncsf2, btruncdf2): Adjust expanders
+ for expanding btrunc inline for SSE math.
+
+2006-10-29 Joseph Myers <joseph@codesourcery.com>
+
+ * config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all.
+ Handle tuning for bi-arch i[34567]86-*-linux* like that for
+ i[34567]86-*-solaris2.1[0-9]*.
+ * config/i386/linux64.h (TARGET_VERSION, MULTILIB_DEFAULTS):
+ Define conditionally depending on TARGET_64BIT_DEFAULT.
+ (SPEC_32, SPEC_64): Define.
+ (LINK_SPEC): Use them.
+ * doc/install.texi (--enable-targets=all): Document for x86-linux.
+
+2006-10-29 Richard Guenther <rguenther@suse.de>
+
+ * config/i386/i386-protos.h (ix86_expand_round): Declare.
+ (ix86_expand_rounddf_32): Likewise.
+ * config/i386/i386.c (ix86_expand_round): New function expanding
+ round inline for SSE math and -fno-trapping-math and if not
+ optimizing for size.
+ (ix86_expand_rounddf_32): Same for DFmode on 32bit archs.
+ * config/i386/i386.md (rounddf2, roundsf2): New pattern expanding
+ round via ix86_expand_round.
+
+2006-10-29 Richard Guenther <rguenther@suse.de>
+
+ * config/i386/i386-protos.h (ix86_expand_floorceil): Declare.
+ (ix86_expand_floorceildf_32): Likewise.
+ * config/i386/i386.c (ix86_expand_sse_compare_mask): New
+ static helper function.
+ (ix86_expand_floorceil): Expander for floor and ceil to SSE
+ math.
+ (ix86_expand_floorceildf_32): Same for DFmode on 32bit archs.
+ * config/i386/i386.md (floordf2): Adjust to enable floor
+ expansion via ix86_expand_floorceil if TARGET_SSE_MATH and
+ -fno-trapping-math is enabled and if not optimizing for size.
+ (floorsf2, ceildf2, ceilsf2): Likewise.
+ * config/i386/sse.md (sse_maskcmpsf3): New insn.
+ (sse2_maskcmpdf3): Likewise.
+
+2006-10-29 Richard Guenther <rguenther@suse.de>
+
+ * builtins.c (expand_builtin_mathfn): Expand nearbyint as
+ rint in case -fno-trapping-math is enabled.
+ * config/i386/i386-protos.h (ix86_expand_rint): Declare.
+ * config/i386/i386.c (ix86_gen_TWO52): New static helper function.
+ (ix86_expand_sse_fabs): Likewise.
+ (ix86_expand_rint): New function expanding rint to x87 or SSE math.
+ * config/i386/i386.md (rintdf2): Enable for SSE math if
+ -fno-trapping-math is enabled, use ix86_expand_rint for expansion.
+ (rintsf2): Likewise.
+
+2006-10-29 Richard Guenther <rguenther@suse.de>
+
+ * genopinit.c (optabs): Change lfloor_optab and lceil_optab
+ to conversion optabs.
+ * optabs.c (init_optabs): Initialize lfloor_optab and lceil_optab
+ as conversion optab.
+ * optabs.h (enum optab_index): Remove OTI_lfloor and OTI_lceil.
+ (enum convert_optab_index): Add COI_lfloor and COI_lceil.
+ (lfloor_optab, lceil_optab): Adjust defines.
+ * builtins.c (expand_builtin_int_roundingfn): Adjust for
+ lfloor and lceil optabs now being conversion optabs.
+ * config/i386/i386-protos.h (ix86_expand_lfloorceil): Declare.
+ * config/i386/i386.c (ix86_expand_sse_compare_and_jump):
+ New static helper function.
+ (ix86_expand_lfloorceil): New function to expand lfloor and
+ lceil inline.
+ * config/i386/i386.md (lfloor<mode>2): Split into ...
+ (lfloorxf<mode>2): ... x87 variant
+ (lfloor<mode>di2, lfloor<mode>si2): ... and SSE variants
+ using ix86_expand_lfloorceil.
+ (lceil<mode>2, lceilxf<mode>2, lceil<mode>di2, lceil<mode>si2):
+ Likewise.
+ * doc/md.texi (lfloorMN, lceilMN): Document.
+
+2006-10-29 Richard Sandiford <richard@codesourcery.com>
+
+ * configure.ac (HAVE_AS_NO_SHARED): New AC_DEFINE. Test for the
+ -mno-shared assembler option on mips targets.
+ * configure, config.in: Regenerate.
+ * config/mips/linux.h (NO_SHARED_SPECS): New macro.
+ (DRIVER_SELF_SPECS): Define to NO_SHARED_SPECS if non-empty.
+ * config/mips/linux64.h (DRIVER_SELF_SPECS): Include NO_SHARED_SPECS.
+
+2006-10-29 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips.c (mips_classify_symbol): Test DECL_WEAK as well
+ as TREE_PUBLIC when deciding whether to return SYMBOL_GOT_GLOBAL.
+
+2006-10-29 Kazu Hirata <kazu@codesourcery.com>
+
+ * config/darwin.c, config/darwin.opt, config/ia64/itanium1.md,
+ config/ia64/itanium2.md, real.c, tree-ssa-structalias.c: Fix
+ comment typos.
+
+2006-10-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ PR middle-end/29335
+ * builtins.c (do_mpfr_arg2, fold_builtin_hypot): New.
+ (fold_builtin_pow): Evaluate constant arguments at compile-time
+ using MPFR.
+ (fold_builtin_1): Handle BUILT_IN_ATAN2 and BUILT_IN_HYPOT.
+ (do_mpfr_ckconv): New helper function.
+ (do_mpfr_arg1): Use do_mpfr_ckconv.
+ (do_mpfr_arg2): New.
+
+2006-10-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR tree-opt/29271
+ * doc/invoke.texi (-fdump-rtl-sched2) Fix file extension number.
+ (-fdump-rtl-sched): Rename to ..
+ (-fdump-rtl-sched1): here. Also fix file extension number.
+
+2006-10-28 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (maybe_canonicalize_comparison): Fix code
+ to match comment.
+
+2006-10-28 Uros Bizjak <uros@kss-loka.si>
+
+ * config/i386/i386.h (GENERAL_REGNO_P): Use STACK_POINTER_REGNUM.
+ (NON_QI_REG_P): Use IN_RANGE.
+ (REX_INT_REGNO_P): Use IN_RANGE.
+ (FP_REGNO_P): Use IN_RANGE.
+ (SSE_REGNO_P): Use IN_RANGE.
+ (REX_SSE_REGNO_P): Use IN_RANGE.
+ (MMX_REGNO_P): Use IN_RANGE.
+ (STACK_REGNO_P): New macro.
+ (STACK_REG_P): Use STACK_REGNO_P.
+ (NON_STACK_REG_P): Use STACK_REGNO_P.
+ (REGNO_OK_FOR_INDEX_P): Use REX_INT_REGNO_P.
+ (REGNO_OK_FOR_BASE_P): Use GENERAL_REGNO_P.
+ (REG_OK_FOR_INDEX_NONSTRICT_P): Use REX_INT_REGNO_P.
+ (REG_OK_FOR_BASE_NONSTRICT_P): Use GENERAL_REGNO_P.
+ (HARD_REGNO_RENAME_OK): Use !IN_RANGE.
+
+2006-10-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * except.h (output_function_exception_table): Add 'const char*' param.
+ * except.c (switch_to_exception_section): Add 'const char*' param.
+ If named sections are supported and HAVE_LD_EH_GC_SECTIONS is defined
+ and flag_function_sections is set, use a function-specific section.
+ (output_function_exception_table): Add 'const char*' param.
+ Adjust call to switch_to_exception_section.
+ * final.c (rest_of_handle_final): Adjust calls to
+ output_function_exception_table.
+ * configure.ac (HAVE_LD_EH_GC_SECTIONS): New check.
+ * config.in: Regenerate.
+ * configure: Likewise.
+
+2006-10-28 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/26899
+ * fold-const.c (maybe_canonicalize_comparison_1): Helper
+ for maybe_canonicalize_comparison.
+ (maybe_canonicalize_comparison): New function for canonicalizing
+ comparison trees.
+ (fold_comparison): Call it to canonicalize comparisons with
+ constants involved.
+
+2006-10-28 Richard Guenther <rguenther@suse.de>
+
+ PR target/28806
+ * builtins.c (expand_builtin_int_roundingfn_2): Expand
+ BUILT_IN_LROUND and BUILT_IN_LLROUND from here.
+ (expand_builtin): Adjust likewise.
+ * genopinit.c (optabs[]): Add lround optab.
+ * optabs.c (init_optabs): Initialize lround_optab.
+ * optabs.h (enum convert_optab_index): Add COI_lround.
+ (lround_optab): Define.
+ * config/i386/i386-protos.h (ix86_expand_lround): Declare.
+ * config/i386/i386.c (ix86_sse_copysign_to_positive): New
+ static function.
+ (ix86_expand_lround): New function.
+ * config/i386/i386.md (lround<mode>di2, lround<mode>si2):
+ New expanders.
+ * doc/md.texi (lroundMN2): Document.
+
+2006-10-28 Uros Bizjak <uros@kss-loka.si>
+
+ PR target/29377
+ * config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size"
+ argument to HOST_WIDE_INT. Update function prototype.
+ (round_frame_size): Change return type to HOST_WIDE_INT. Change
+ "size" argument to HOST_WIDE_INT. Update function prototype.
+
+2006-10-28 Uros Bizjak <uros@kss-loka.si>
+
+ * config/i386/i386.c (output_387_ffreep): Create output from a
+ template string for !HAVE_AS_IX86_FFREEP.
+
+2006-10-27 Eric Christopher <echristo@apple.com>
+
+ * config/darwin.c: Fix formatting and grammar.
+
+2006-10-27 Jan Hubicka <jh@suse.cz>
+
+ * builtins.c (fold_builtin): Don't generate NOP_EXPR that is going
+ to be thrown away soon when IGNORE is set.
+ * tree-ssa-ccp.c (convert_to_gimple_builtin): Add IGNORE argument
+ indicating when return value shall not be computed.
+ * gimplify.c (internal_get_tmp_var): Avoid random tree sharing.
+
+2006-10-27 Vladimir Makarov <vmakarov@redhat.com>
+
+ * config/i386/i386.h (TARGET_GEODE):
+ (TARGET_CPU_CPP_BUILTINS): Add code for geode.
+ (TARGET_CPU_DEFAULT_geode): New macro.
+ (TARGET_CPU_DEFAULT_k6, TARGET_CPU_DEFAULT_k6_2,
+ TARGET_CPU_DEFAULT_k6_3, TARGET_CPU_DEFAULT_athlon,
+ TARGET_CPU_DEFAULT_athlon_sse, TARGET_CPU_DEFAULT_k8,
+ TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_prescott,
+ TARGET_CPU_DEFAULT_nocona, TARGET_CPU_DEFAULT_generic): Increase
+ the macro values.
+ (TARGET_CPU_DEFAULT_NAMES): Add geode.
+ (processor_type): Add PROCESSOR_GEODE.
+
+ * config/i386/i386.md: Include geode.md.
+ (cpu): Add geode.
+
+ * config/i386/i386.c (geode_cost): New initialized global
+ variable.
+ (m_GEODE, m_K6_GEODE): New macros.
+ (x86_use_leave, x86_push_memory, x86_deep_branch, x86_use_sahf,
+ x86_use_himode_fiop, x86_promote_QImode, x86_add_esp_4,
+ x86_add_esp_8, x86_rep_movl_optimal, x86_ext_80387_constants,
+ x86_schedule): Use m_K6_GEODE instead of m_K6.
+ (x86_movx, x86_cmove): Set up m_GEODE.
+ (x86_integer_DFmode_moves): Clear m_GEODE.
+ (processor_target_table): Add entry for geode.
+ (processor_alias_table): Ditto.
+
+ * config/i386/geode.md: New file.
+
+ * doc/invoke.texi: Add entry about geode processor.
+
+2006-10-27 Mike Stump <mrs@apple.com>
+
+ * config/darwin-c.c (darwin_cpp_builtins): Move __STATIC__ and
+ __DYNAMIC__ from here back to ...
+ * config/darwin.h (CPP_SPEC): ... here.
+
+2006-10-26 Nathan Froyd <froydnj@codesourcery.com>
+ Nathan Sidwell <nathan@codesourcery.com>
+
+ * ggc-common.c (ggc_min_heapsize_heuristic): Be more conservative
+ when choosing the minimum heapsize.
+
+2006-10-26 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc/unwind-dw2.h: Move cfa-related variables into
+ struct frame_state_reg_info to ensure that the CFA is properly
+ handled when executing DW_CFA_{remember,restore}_state.
+ * gcc/unwind-dw2.c, gcc/config/alpha/linux-unwind.h,
+ gcc/config/alpha/vms-unwind.h, gcc/config/s390/tpf-unwind.h
+ gcc/config/s390/linux-unwind.h, gcc/config/sparc/linux-unwind.h
+ gcc/config/i386/linux-unwind.h, gcc/config/sh/linux-unwind.h
+ gcc/config/rs6000/linux-unwind.h,
+ gcc/config/rs6000/darwin-fallback.c, gcc/config/pa/linux-unwind.h,
+ gcc/config/pa/hpux-unwind.h, gcc/config/mips/linux-unwind.h:
+ Modify to use new cfa_* fields.
+
+2006-10-26 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config/s390/s390.c (s390_init_frame_layout): Check positive
+ frame_size.
+
+2006-10-26 Ben Elliston <bje@au.ibm.com>
+
+ * gimplify.c (get_name): Remove extraneous break.
+ (gimplify_omp_for): Initialise ret with GS_OK.
+
+2006-10-25 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/hpux.h: Define _INCLUDE__STDC_A1_SOURCE in C++.
+ Add unix98.o to link line.
+
+2006-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ PR middle-end/29335
+ * builtins.c (fold_builtin_cbrt, fold_builtin_logarithm):
+ Calculate compile-time constants using MPFR.
+ (fold_builtin_1): Likewise handle BUILT_IN_ERF, BUILT_IN_ERFC,
+ BUILT_IN_EXPM1 and BUILT_IN_LOG1P.
+
+2006-10-25 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/lib2funcs.S: Use C-style comments.
+
+2006-10-24 Nathan Froyd <froydnj@codesourcery.com>
+
+ * dwarf2out.c (gen_compile_unit_die): Use IS_ABSOLUTE_PATH.
+ (file_table_relative_p): Likewise.
+ (dwarf2out_finish): Likewise.
+ (file_name_acquire): Use DIR_SEPARATOR and DIR_SEPARATOR_2.
+
+2006-10-25 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-ssa-structalias.c (intra_create_variable_infos):
+ Don't recreate nonlocal_all if it already exists.
+
+2006-10-25 Richard Guenther <rguenther@suse.de>
+
+ PR target/28803
+ * optabs.h (enum optab_index): Remove OTI_lrint.
+ (enum convert_optab_index): Add COI_lrint.
+ (lrint_optab): Adjust.
+ (expand_sfix_optab): Declare.
+ * optabs.c (expand_sfix_optab): New function.
+ (init_optabs): Init lrint_optab as conversion optab.
+ * genopinit.c (lrint_optab): Change to a conversion optab.
+ * builtins.c (expand_builtin_int_roundingfn_2): Adjust to
+ expansion via conversion optab.
+ * config/i386/i386.md (*fistdi2_1): Remove
+ flag_unsafe_math_optimizations guard.
+ (fistdi2, fistdi2_with_temp, *fist<mode>2_1, fist<mode>2,
+ fist<mode>2_with_temp): Likewise.
+ (lrint<mode>2): Split into...
+ (lrintxf<mode>2): ... x87 part
+ (lrint<mode>di2, lrint<mode>si2): ... and SSE parts.
+ * config/i386/sse.md (sse_cvtss2si_2, sse_cvtss2_siq_2,
+ sse2_cvtsd2si_2, sse2_cvtsd2siq_2): New insns for
+ UNSPEC_FIX_NOTRUNC matching non-vector float modes.
+ * doc/md.texi (lrintMN2): Document.
+
+2006-10-25 Uros Bizjak <uros@kss-loka.si>
+
+ PR target/28909
+ * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>"):
+ Use inc and dec instructions for TARGET_USE_INCDEC.
+ ("*sync_compare_and_swap<mode>"): Fix -masm=intel template.
+ ("sync_double_compare_and_swap<mode>"): Likewise.
+ ("*sync_double_compare_and_swapdi_pic"): Likewise.
+ ("*sync_compare_and_swap_cc<mode>"): Likewise.
+ ("sync_double_compare_and_swap_cc<mode>"): Likewise.
+ ("*sync_double_compare_and_swap_ccdi_pic"): Likewise.
+ ("sync_old_add<mode>"): Likewise.
+ ("sync_lock_test_and_set<mode>"): Likewise.
+ ("sync_lock_test_and_set<mode>"): Likewise.
+ ("sync_add<mode>"): Likewise.
+ ("sync_sub<mode>"): Likewise.
+ ("sync_ior<mode>"): Likewise.
+ ("sync_and<mode>"): Likewise.
+ ("sync_xor<mode>"): Likewise.
+
+2006-10-25 Uros Bizjak <uros@kss-loka.si>
+
+ * optabs.h (enum optab_index): Rename OTI_drem to OTI_remainder.
+ (remainder_optab): Define corresponding macro.
+ (drem_optab): Remove.
+ * optabs.c (init_optabs): Initialize remainder_optab. Remove
+ drem_optab initialization.
+ * genopinit.c (optabs): Implement remainder_optab using
+ remainder?f3 patterns. Remove drem_optab.
+ * builtins.c (expand_builtin_mathfn_2): Handle
+ BUILT_IN_REMAINDER{,F,L} using remainder_optab.
+ (expand_builtin): Expand BUILT_IN_REMAINDER{,F,L} using
+ expand_builtin_mathfn_2.
+
+ (expand_builtin) [BUILT_IN_FMOD, BUILT_IN_DREM]: Do not
+ depend on flag_unsafe_math_optimizations.
+
+ * config/i386/i386.md ("remaindersf3", "remainderdf3")
+ ("remainderxf3"): Renamed from "drem{s,d,x}f3" expanders.
+ Do not depend on flag_unsafe_math_optimizations. Use
+ truncxf?f expander instead of truncxf?f_i387_noop.
+
+ ("fpremxf4", "fprem1xf4"): Do not depend on
+ flag_unsafe_math_optimizations.
+ ("fmodsf3", "fmoddf3", "fmodxf3"): Do not depend on
+ flag_unsafe_math_optimizations. Use truncxf?f expander
+ instead of truncxf?f_i387_noop.
+
+ * doc/md.texi (fmod, remainder): Document standard named pattern.
+
2006-10-24 Richard Sandiford <richard@codesourcery.com>
David Daney <ddaney@avtrex.com>
(init_alias_heapvars): Initialize nonlocal_for_type and
nonlocal_all.
(delete_alias_heapvars): Free nonlocal_for_type and null out
- nonlocal_all.
+ nonlocal_all.
2006-10-19 Eric Botcazou <ebotcazou@adacore.com>
* fold-const.c (add_double): Rename to add_double_with_sign.
Add 'unsigned_p' parameter and take it into account for the overflow.
- (mul_double): Rename to mul_double_with_sign.
+ (mul_double): Rename to mul_double_with_sign.
Add 'unsigned_p' parameter and take it into account for the overflow.
(fold_div_compare): Call add_double_with_sign instead of add_double
and mul_double_with_sign instead of mul_double, passing them the
2006-10-17 Wolfgang Gellerich <gellerich@de.ibm.com>
* config/s390/contraints.md: New file.
- * config/s390/s390-protos.h (s390_mem_constraint,
- s390_O_constraint_str, s390_N_constraint_str,
+ * config/s390/s390-protos.h (s390_mem_constraint,
+ s390_O_constraint_str, s390_N_constraint_str,
s390_float_const_zero_p): Function prototypes added.
- * config/s390/s390.c (s390_extra_constraint_str,
- s390_const_double_ok_for_constraint_p,
+ * config/s390/s390.c (s390_extra_constraint_str,
+ s390_const_double_ok_for_constraint_p,
s390_const_ok_for_constraint_p): Functions removed.
(s390_mem_constraint, s390_O_constraint_str, s390_N_constraint_str,
s390_float_const_zero_p): New functions.
* config/s390/s390.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_CONSTRAINT_P,
- CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR,
- EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT, CONSTRAINT_LEN):
+ CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR,
+ EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT, CONSTRAINT_LEN):
Macro definitions removed.
(s390_const_ok_for_constraint_p, s390_const_double_ok_for_constraint_p,
s390_extra_constraint_str): Functions removed.
2006-10-06 Danny Smith <dannysmith@users.sourceforge.net>
- config/i386/mingw32.h (GOMP_SELF_SPECS): Add -mthreads for openmp.
+ * config/i386/mingw32.h (GOMP_SELF_SPECS): Add -mthreads for openmp.
2006-10-06 Jakub Jelinek <jakub@redhat.com>