ChangeLog entries since last run on 2005-01-17T22:12:09Z: --- /Users/regress/tbox/changelog_mail/gcc/ChangeLog Sun Jan 16 16:59:20 2005 +++ gcc/ChangeLog Tue Jan 18 00:51:18 2005 @@ -1,3 +1,14 @@ +2005-01-17 Kelley Cook + + * install-sh, config.sub: Import from upstream. + +2005-01-17 Kelley Cook + + PR bootstrap/18222 + * Makefile.def: Pass CPPFLAGS_FOR_TARGET. + * Makefile.tpl: Define target CPPFLAGS on CPPFLAGS_FOR_TARGET. + * Makefile.in: Regenerate. + 2005-01-16 Jason Thorpe * MAINTAINERS: Update my email address. --- /Users/regress/tbox/changelog_mail/gcc/gcc/ChangeLog Mon Jan 17 14:13:18 2005 +++ gcc/gcc/ChangeLog Tue Jan 18 00:52:28 2005 @@ -1,3 +1,90 @@ +2005-01-18 Dorit Naishlos + + * tree-inline.c (estimate_num_insns_1): Added cases for + ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF, and REALIGN_LOAD_EXPR. + +2005-01-18 Eric Botcazou + + PR rtl-optimization/19296 + * combine.c (simplify_comparison): Rewrite the condition under + which a non-paradoxical SUBREG of a PLUS can be lifted when + compared against a constant. + +2005-01-18 Andi Kleen + + * c-typeck.c: (convert_for_assignment): Check warn_pointer_sign. + * c.opt (-Wpointer-sign): Add. + * doc/invoke.texi: (-Wpointer-sign): Add. + +2005-01-18 Uros Bizjak + + * config/i386/i386.c (override_options): Revert 2004-11-24 change. + * config/i386/i386.md (fmodsf3, dremsf3, *sinsf2, *cossf2, sincossf3, + *tansf3_1, tansf2, atan2sf3_1, atan2sf3, atansf2, asinsf2, acossf2, + logsf2, log10sf2, log2sf2, log1psf2, logbsf2, ilogbsf2, expsf2, + exp10sf2, exp2sf2, expm1sf2, rintsf2, floorsf2, ceilsf2, btruncsf2, + nearbyintsf2): Disable for TARGET_SSE_MATH. Leave patterns enabled + for TARGET_MIX_SSE_I387. + (fmoddf3, dremdf3, *sindf2, *sinextendsfdf2, *cosdf2, *cosextendsfdf2, + sincosdf3, *sincosextendsfdf3, *tandf3_1, tandf2, atan2df3_1, + atan2df3, atandf2, asindf2, acosdf2, logdf2, log10df2, log2df2, + log1pdf2, logbdf2, expdf2, exp10df2, exp2df2, expm1df2, rintdf2, + floordf2, ceildf2, btruncdf2, nearbyintdf2): Disable for + (TARGET_SSE2 && TARGET_SSE_MATH). Leave patterns enabled for + TARGET_MIX_SSE_I387. + (atan2sf3, atan2df3, atan2xf3): Remove register constraints + from expander. + +2005-01-18 Uros Bizjak + + PR target/19424 + * config/i386/mmx.md (*movv2sf_internal_rex64, *movv2sf_internal): + Add movaps alternative for xmm reg->reg move. + +2005-01-17 Jeff Law + + * tree-ssa-dom.c (tree_ssa_dominator_optimize): Clear SSA_NAME_VALUE + at the end of the main DOM loop rather than just before DOM exits. + +2005-01-17 Diego Novillo + + PR tree-optimization/19121 + * tree-ssa-alias.c (compute_flow_sensitive_aliasing): When + adding aliases to a name tag, also add them to the pointer's + type tag. + * tree-ssa-copy.c (merge_alias_info): Do not merge flow + sensitive alias info at all. Only check that the two pointers + have compatible pointed-to sets. + * tree-ssa.c (verify_name_tags): Verify that the alias set of + a pointer's type tag is a superset of the alias set of the + pointer's name tag. + +2005-01-17 James E Wilson + + PR target/19357 + * config/ia64/ia64.md (movxf): Handle general register source. Adjust + comment to document why. + +2005-01-17 Richard Henderson + + * config/i386/sse.md (smaxv4sf3_finite, sse_vmsmaxv4sf3_finite, + sminv4sf3_finite, sse_vmsminv4sf3_finite, smaxv2df3_finite, + sse2_vmsmaxv2df3_finite, sminv2df3_finite, + sse2_vmsminv2df3_finite): New. + (smaxv4sf3, sse_vmsmaxv4sf3, sminv4sf3, sse_vmsminv4sf3, smaxv2df3, + sse2_vmsmaxv2df3, sminv2df3, sse2_vmsminv2df3): Remove commutative. + Force op1 into register. + +2005-01-17 Kelley Cook + + * Makefile.in (STAGEMOVESTUFF): Stage all the stamp files to prevent + bubblestrap from always rebuilding build directory. + +2005-01-17 Ulrich Weigand + + * config/s390/s390.md ("*clc"): Remove incorrect '='. + ("*cmpmem_short"): Likewise. + 2005-01-17 Steven Bosscher * basic-block.h: Document BB_* flags. --- /Users/regress/tbox/changelog_mail/gcc/gcc/testsuite/ChangeLog Mon Jan 17 14:13:27 2005 +++ gcc/gcc/testsuite/ChangeLog Tue Jan 18 00:52:39 2005 @@ -1,3 +1,22 @@ +2005-01-18 Eric Botcazou + + * gcc.dg/short-compare-1.c: New test. + * gcc.dg/short-compare-2.c: Likewise. + +2005-01-18 Michael Matz + + * gcc.dg/Wno-pointer-sign.c: New test for -Wno-pointer-sign. + +2005-01-17 Diego Novillo + + PR tree-optimization/19121 + * gcc.c-torture/compile/pr19121.c: New test. + +2005-01-17 James E. Wilson + + PR target/19357 + * gcc.c-torture/compile/pr19357.c: New test. + 2005-01-17 Ian Lance Taylor PR c/5675 --- /Users/regress/tbox/changelog_mail/gcc/libjava/ChangeLog Sat Jan 15 19:39:42 2005 +++ gcc/libjava/ChangeLog Tue Jan 18 00:53:10 2005 @@ -1,3 +1,13 @@ +2005-01-17 Tom Tromey + + * java/text/MessageFormat.java (scanString): Changed how quoting + is handled. + (scanFormatElement): Likewise. + +2004-12-07 Mark Wielaard + + * java/text/MessageFormat.java (scanFormat): Chain thrown exception. + 2005-01-15 Michael Koch PR libgcj/19444 ChangeLog entries between 2005-01-17T22:12:09Z and the last time everything passed, on 2005-01-06T19:16:41Z: --- /Users/regress/tbox/changelog_pass/gcc/ChangeLog Mon Jan 3 17:57:25 2005 +++ gcc/ChangeLog Sun Jan 16 16:59:20 2005 @@ -1,3 +1,13 @@ +2005-01-16 Jason Thorpe + + * MAINTAINERS: Update my email address. + +2005-01-12 David Edelsohn + Andreas Schwab + + PR bootstrap/18033 + * config-ml.in: Eval option if surrounded by single quotes. + 2005-01-03 Paolo Bonzini Revert 2004-12-28 Makefile changes, a better fix will be --- /Users/regress/tbox/changelog_pass/gcc/gcc/ChangeLog Thu Jan 6 11:17:41 2005 +++ gcc/gcc/ChangeLog Mon Jan 17 14:13:18 2005 @@ -1,3 +1,1062 @@ +2005-01-17 Steven Bosscher + + * basic-block.h: Document BB_* flags. + * regrename.c (copyprop_hardreg_forward): Don't use BB_VISITED, + use an sbitmap instead. + * sched-rgn.c (compute_trg_info): Likewise. + +2005-01-17 Richard Sandiford + + * config.gcc (mips64*-*-linux*): Set the default abi to n32. Remove + redundant target_cpu_default and extra_parts lines. Use the default + "from-abi" ISA. + * config/mips/linux64.h (DRIVER_DEFAULT_ABI_SELF_SPEC): Delete. + (SUBTARGET_EXTRA_SPECS): Delete. + (DRIVER_SELF_SPECS): Remove architecture lines. Set the ABI directly. + (SUBTARGET_ASM_SPEC): Remove -mabi=n32 and -mabi=64 mappings. + * config/mips/t-linux64 (MULTILIB_DIRNAMES): Use "32" for -mabi=32 + and "n32" for -mabi=n32. + +2005-01-17 Ian Lance Taylor + + PR c/5675 + * c-typeck.c (build_c_cast): Revert patch of 2003-02-16: don't + fold constant variables into initial values. + +2005-01-17 Kazu Hirata + + * tree-cfg.c (tree_can_merge_blocks_p): Reorder two checks. + + * tree-cfg.c (tree_forwarder_block_p): Speed up by walking + through the statements backward. + +2005-01-17 Ian Lance Taylor + + PR middle-end/13127: + * tree-inline.c (expand_call_inline): Set TREE_NO_WARNING on + a variable set to the return value of the inlined function. + +2005-01-17 Mark Dettinger + + * rtlanal.c (rtx_cost): Assign cost of 0 to a SUBREG + when modes are tieable. + +2005-01-17 Ranjit Mathew + + * gthr-posix.h (__gthread_active_p): Use pthread_cancel instead + of pthread_create to find out if threads are enabled. + * gthr-posix95.h (__gthread_active_p): Likewise. + +2005-01-17 Paolo Bonzini + + * common.opt (-fnew-ra): Remove. + * ra*.*: Remove. + * toplev.h (flag_new_regalloc): Remove. + * Makefile.in (ra*.*): Don't mention. + * passes.c (rest_of_handle_new_regalloc): Remove. + (rest_of_handle_combine, rest_of_compilation): Always consider + flag_new_regalloc as false. + * doc/invoke.texi: Don't document -fnew-ra. + +2005-01-17 Paolo Bonzini + + * bb-reorder.c (fix_edges_for_rarely_executed_code): Remove + last parameter to reg_scan. + * loop.c (loop_optimize): Likewise. + * passes.c (rest_of_handle_tracer, rest_of_handle_if_conversion, + rest_of_handle_web, rest_of_handle_cfg, rest_of_handle_jump_bypass, + rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2, + rest_of_handle_gcse, rest_of_handle_loop_optimize, + rest_of_handle_loop2, rest_of_handle_jump2): Likewise. + * regclass.c (reg_scan): Likewise, for the declaration. + * rtl.h (reg_scan): Likewise, for the prototype. + +2005-01-17 Kazu Hirata + + * tree-ssa-dom.c (tree_ssa_dominator_optimize): Don't call + mark_dfs_back_edges. + +2005-01-16 Daniel Berlin + + * tree-ssa-pre.c (add_to_sets): s1 may be NULL. + (compute_avail): Uses don't go in tmp_gen. + +2005-01-16 Steven Bosscher + + * ggc-page.c (ggc_alloc_stat): Use __builtin_ctzl instead of a + loop to look for a free slot in a page entry. + +2005-01-16 John David Anglin + + PR target/16304 + * defaults.h (TARGET_DEFERRED_OUTPUT_DEFS): Provide default. + * toplev.c (compile_file): Call process_pending_assemble_output_defs + just before targetm.asm_out.file_end. + * tree.h (process_pending_assemble_output_defs): Declare. + * varasm.c (assemble_output_def, process_pending_assemble_output_defs): + New functions. + (assemble_alias): Defer generation of assembly code for defines when + TARGET_DEFERRED_OUTPUT_DEFS is true. + * config/rs6000/aix41.h (TARGET_DEFERRED_OUTPUT_DEFS): Define. + * config/rs6000/aix43.h (TARGET_DEFERRED_OUTPUT_DEFS): Define. + * doc/tm.texi (TARGET_DEFERRED_OUTPUT_DEFS): document. + +2005-01-15 John David Anglin + + PR target/19336 + * pa.c (pa_scalar_mode_supported_p): New function. + (TARGET_SCALAR_MODE_SUPPORTED_P): Define. + * pa.h (MIN_UNITS_PER_WORD): Add comment. + + * pa-protos.h (prefetch_operand): Delete. + (prefetch_cc_operand, prefetch_nocc_operand): New declations. + * pa.c (prefetch_operand): Delete. + (prefetch_cc_operand, prefetch_nocc_operand): New functions. + * pa.h (EXTRA_CONSTRAINT): Add `W' constraint. + (PREDICATE_CODES): Delete prefetch_operand. Add prefetch_cc_operand + and prefetch_nocc_operand. + * pa.md (prefetch): Rework to avoid reload problems handling short + displacements when a cache control completer needs to be provided. + (prefetch_32, prefetch_64): Delete. + (prefetch_cc, prefetch_nocc): New patterns. + +2005-01-15 David Edelsohn + + * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Revert previous change. + +2005-01-15 John David Anglin + + PR ada/19388 + * pa.c (pa_asm_output_aligned_common): Warn if specified alignment + exceeds maximum alignment for global common data. + * pa64-hpux.h (MAX_OFILE_ALIGNMENT): Define to 32768. + * som.h (MAX_OFILE_ALIGNMENT): Likewise. + +2004-01-15 Roger Sayle + + * tree-ssa-dom.c (extract_range_from_cond): Correct condition. + +2004-01-15 Roger Sayle + + * harg-reg-set.h (reg_class_names): Prototype global array. + * regclass.c (reg_class_names): Declare here and initialize to + REG_CLASS_NAMES. + (dump_regclass): Remove local declaration of reg_class_names. + (regclass): Likewise. + * cfg.c (dump_flow_info): Likewise. + * ra-debug.c (reg_class_names): Likewise. + * regrename.c (reg_class_names): Likewise. + * reload.c (reg_class_names): Likewise. + * reload1.c (spill_failure): Likewise. + * config/m68hc11/m68hc11.c (reg_class_names): Likewise. + +2005-01-15 Ulrich Weigand + + * config/s390/s390.md ("reload_outti"): Remove predicate for + output operand. Abort if operand is not a MEM. + ("reload_outdi", "reload_outdf"): Likewise. + +2005-01-15 Marc Espie + + * config.gcc (*-*-openbsd*): Set HAS_LIBC_R for OpenBSD <= 3.2. + (i[34567]86-*-openbsd*): Switch to ELF for OpenBSD >= 3.4. + * config/openbsd.h: Fix C++ includes for native configurations. + Add proper OS_CPP_BUILTINS. Fix libspec for recent OpenBSD. + Add trampoline support. + * config/i386/openbsdelf.h: New. + +2005-01-15 Marc Espie + + * collect2.c (main): Explicitly parse -dynamic-linker option. + +2005-01-15 Jakub Jelinek + + PR tree-optimization/19060 + * tree-ssa-dom.c (extract_range_from_cond) : + Return 0 if op1 <= TYPE_MIN_VALUE () resp. op1 >= TYPE_MAX_VALUE (). + (simplify_cond_and_lookup_avail_expr): Add assert for dummy == 0 + and handle extract_range_from_cond returning false. + * fold-const.c (fold): Optimize comparisons with min/max even for + width > HOST_BITS_PER_WIDE_INT. + +2005-01-15 Ralf Corsepius + + * config/mips/rtems.h (MIPS_DEFAULT_GVALUE): Set to 0. + * config/mips/t-rtems (MULTILIBS_DIRNAMES,MULTILIB_OPTIONS): + Remove little endian multilib variants. + Add mips32 multilib variant. + +2005-01-15 Kazu Hirata + + * explow.c (copy_all_reg, stabilize): Remove. + * expr.h: Remove the corresponding prototypes. + + * rtlanal.c (regs_set_between_p): Remove. + * rtl.h: Remove the corresponding prototype. + +2005-01-14 David Edelsohn + + * config/rs6000/rs6000.c (rs6k_nonimmediate_operand): Rename + to rs6000_nonimmediate_operand. + * config/rs6000/rs6000.h (PREDICATE_CODES): Rename + rs6k_nonimmediate_operand to rs6000_nonimmediate_operand. + * config/rs6000/rs6000.md (movsi_internal1): Rename predicate to + rs6000_nonimmediate_operand. + * config/rs6000/spe.md (movdf_e500_double): Rename predicate to + rs6000_nonimmediate_operand. + +2005-01-14 Andrew Pinski + + * tree-ssa-alias.c (pass_may_alias): Add TODO_verify_stmts. + +2005-01-14 Aldy Hernandez + + * config/rs6000/rs6000.h (CLASS_MAX_NREGS): DF goes in 1 register + on e500v2. + (CANNOT_CHANGE_MODE_CLASS): Restrict DI mode changes on e500v2. + (PREDICATE_CODES): Add rs6k_nonimmediate_operand. + + * config/rs6000/rs6000.c (invalid_e500_subreg): New. + (rs6k_nonimmediate_operand): New. + (rs6000_legitimate_offset_address_p): Handle DI modes on e500v2 + correctly. + (legitimate_lo_sum_address_p): Same. + (rs6000_legitimize_address): Same. + (rs6000_legitimize_reload_address): Same. + (rs6000_legitimate_address): Same. + (spe_build_register_parallel): Pass DF and DC modes in a DI + register. + + * config/rs6000/rs6000.md ("*movsi_internal1"): Change predicate + to rs6k_nonimmediate_operand. + + * config/rs6000/spe.md ("*frob_df_di"): New. + ("*frob_di_df"): New. + ("*frob_di_df_2"): New. + ("*mov_sidf_e500_subreg0"): New. + ("*mov_sidf_e500_subreg4"): New. + ("*movdf_e500_double"): Change predicate to + rs6k_nonimmediate_operand. + +2005-01-14 Aldy Hernandez + + * postreload.c (move2add_note_store): Only call + trunc_int_for_mode on scalar integers. + +2005-01-14 Steven Bosscher + + * tree-ssa-dce.c (visited_control_parents): New sbitmap to + replace BB_VISITED uses. + (find_obviously_necessary_stmts): Don't clear BB_VISITED. + (propagate_necessity): Check the bitmap instead of BB_VISITED. + (tree_dce_done): Free visited_control_parents. + (perform_tree_ssa_dce): Allocate and clear it. + * tree-ssa-pre.c (compute_antic_aux): Make non-recursive. + (compute_antic): Iterate from here using a DFS. Use an sbitmap + instead of BB_VISITED. + +2005-01-14 Kazu Hirata + + * c-tree.h, coverage.h, langhooks-def.h, optabs.h, output.h, + rtl.h, targhooks.h, tree-flow.h, tree-mudflap.h, tree.h: + Remove unused prototypes. + +2005-01-14 Aldy Hernandez + + * config/rs6000/rs6000.c (rs6000_stack_info): Fix caching of SPE + 64-bit register usage. + (spe_func_has_64bit_regs_p): Add FIXME note. + +2005-01-14 Aldy Hernandez + + * config/rs6000/rs6000.c (rs6000_generate_compare): Replace + flag_finite_math_only with flag_unsafe_math_optimizations. + +2005-01-14 J. D. Johnston + + * config/s390/tpf-unwind.h (s390_fallback_frame_state): Correct + end-of-stack check. + (__tpf_eh_return): Copy TPF private stack area from the module + boundary stack frame. Add check for when module addresses are + equal, but no stub address is found. + +2005-01-14 Richard Earnshaw + + PR target/7525 + * arm.h (struct machine_function): Add call_via field. + (thumb_call_via_label): Declare. + * arm.c (thumb_call_via_label): New variable. + (thumb_call_reg_needed): New variable. + (arm_output_function_epilogue): For Thumb code, output any per-function + call-indirect trampolines. + (thumb_call_via_reg): New function. + (arm_file_end): New function. + (TARGET_ASM_FILE_END): Call arm_file_end. + (aof_file_end): Likewise. + * arm-protos.h (thumb_call_via_reg): Declare. + * arm.md (call_reg_thumb, call_value_reg_thumb): Call + thumb_call_via_reg in normal case. + +2005-01-14 Jakub Jelinek + + PR middle-end/19084 + PR rtl-optimization/19348 + * recog.c (peephole2_optimize): Do global life update if some peephole + decides it doesn't need at least one of its inputs and that change + influences liveness at the start of the basic block. + + * basic-block.h (EXECUTE_IF_AND_COMPL_IN_REG_SET): Needs 2 REGSET + arguments instead of 1. + +2005-01-14 Eric Botcazou + + PR middle-end/18820 + * varasm.c (initializer_constant_valid_p) : Return + zero for nested functions needing a static chain or functions + with a non-constant address. + +2005-01-13 Roger Sayle + + * simplify-rtx.c (simplify_binary_operation) : Optimize + (and (sign_extend X) C) into (zero_extend (and X C)). + +2005-01-13 David O'Brien + + * config/freebsd-spec.h: Make KSE pthread lib logic the default. + +2005-01-13 Richard Henderson + + PR target/19009 + PR target/19250 + PR target/19252 + * config/i386/i386.md (cmpdf, cmpsf, bunordered, bordered, buneq, + bunge, bungt, bunle, bunlt, bltgt): Enable for TARGET_SSE_MATH, + not just TARGET_SSE. + (cmpfp_i_387): Rename from cmpfp_i. Move after sse patterns. + (cmpfp_i_mixed): Rename from cmpfp_i_sse; use for TARGET_MIX_SSE_I387. + (cmpfp_i_sse): Rename from cmpfp_i_sse_only; use for TARGET_SSE_MATH. + (cmpfp_iu_mixed, cmpfp_iu_sse, cmpfp_iu_387): Similarly. + (fp_jcc_1_mixed, fp_jcc_1_sse, fp_jcc_1_387): Similarly. + (fp_jcc_2_mixed, fp_jcc_2_sse, fp_jcc_2_387): Similarly. + (fp_jcc_3_387, fp_jcc_4_387, fp_jcc_5_387, fp_jcc_6_387, + fp_jcc_7_387, fp_jcc_8_387): Rename from fp_jcc_N. + (movdicc_c_rex64): Rename with '*'. + (movsfcc, movdfcc): Add checks for 387 and sse math to condition. + (movsfcc_1_sse_min, movsfcc_1_sse_max, movsfcc_1_sse): New. + (movsfcc_1_387): Rename from movsfcc_1. + (movdfcc_1_sse_min, movdfcc_1_sse_max, movdfcc_1_sse): New. + (movdfcc_1, movdfcc_1_rex64): Add check for 387. + (sminsf3, smaxsf3, smindf3, smaxdf3): New. + (minsf3, minsf, minsf_nonieee, minsf_sse, mindf3, mindf, + mindf_nonieee, mindf_sse, maxsf3, maxsf, maxsf_nonieee, maxsf_sse, + maxdf3, maxdf, maxdf_nonieee, maxdf_sse, sse_movsfcc, sse_movsfcc_eq, + sse_movdfcc, sse_movdfcc_eq, sse_movsfcc_const0_1, + sse_movsfcc_const0_2, sse_movsfcc_const0_3, sse_movsfcc_const0_4, + sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3, + sse_movdfcc_const0_4): Remove. + * config/i386/i386.c (ix86_expand_fp_movcc): For TARGET_SSE_MATH, + recognize min/max early. Update for changed sse cmove patterns. + (ix86_split_sse_movcc): New. + * config/i386/i386-protos.h: Update. + +2005-01-13 Steven Bosscher + + * tree-ssa-dse.c (fix_phi_uses): Use SSA operand iterators. + (fix_stmt_v_may_defs): Likewise. + +2005-01-13 Richard Henderson + + * config/i386/i386.c (ix86_expand_fp_absneg_operator): Use elt_mode + for converting the mask. + +2005-01-13 David Edelsohn + + * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Change _XOPEN_SOURCE + definition to 600. + +2005-01-13 Richard Henderson + + * config/i386/i386.c (IX86_BUILTIN_MOVQ, IX86_BUILTIN_LOADD, + IX86_BUILTIN_STORED, IX86_BUILTIN_MOVQ2DQ, + IX86_BUILTIN_MOVDQ2Q): Remove. + (IX86_BUILTIN_VEC_EXT_V4SI): New. + (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Update to match. + (ix86_expand_vector_extract): For V4S[FI], extract element 0 after + shuffling. + * config/i386/sse.md (sse_concatv2sf): Accept zero operand 2. + (sse2_pextrw): Fix immediate constraint. + (sse2_loadq, sse2_loadq_rex64): Remove. + * config/i386/emmintrin.h (_mm_cvtsi128_si32, _mm_cvtsi128_si64x): + Use __builtin_ia32_vec_ext_. + (_mm_cvtsi32_si128, _mm_cvtsi64x_si128): Use _mm_set_epi. + +2005-01-13 Aldy Hernandez + + * function.c (assign_parm_setup_block): Look inside original + entry_parm when inspecting PARALLEL. + +2005-01-13 Ralf Corsepius + Joel Sherrill + + PR target/19399 + * gthr-rtems.h (__gthread_recursive_mutex_t): New type. + (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Define to + rtems_gxx_recursive_mutex_init. + (__gthread_recursive_mutex_lock): New function. + (__gthread_recursive_mutex_trylock): Likewise. + (__gthread_recursive_mutex_unlock): Likewise. + +2005-01-13 Ralf Corsepius + + * config/i386/t-rtems-i386: Multilib on -mtune instead of -mcpu. + +2005-01-13 Jan Beulich + + * config/ia64/ia64.md (ashlti3, ashlti3_internal): New. + (ashrti3_internal): Indicate output is early clobber. Generate result + into output rather than first input. Use move for low word of output + if shift count is exactly 64. + (lshrti3_internal): Likewise. + +2005-01-13 Hans-Peter Nilsson + + PR target/18329 + PR target/18330 + * reload1.c (delete_output_reload): Don't delete an output reload + if the pseudo lives longer than a single basic block. Adjust and + improve wording of comment. + +2005-01-12 Andrew Pinski + + PR target/19334 + * config/darwin.c (machopic_select_section): Use TYPE_SIZE_UNIT instead + of TYPE_SIZE where we mean the number of bytes. + +2005-01-12 Aldy Hernandez + + * function.c (assign_parm_setup_block): Relax condition on + multi-register optimization. + +2005-01-12 Nick Clifton + + * config/sh/sh.md (udivsi3_sh2a, divsi3_sh2a): Give these patterns + an "in_delay_slot" attribute of "no" to prevent them being used in + delay slots. This is forbidden because they might generate + exceptions. + +2005-01-12 Alan Modra + + PR target/19389 + * config/rs6000/rs6000.md (movtf_internal): Replace r->o and m->r + with r->Y and Y->r. + +2005-01-12 Nick Clifton + + * config/iq2000/iq2000.h (ASM_SPEC): Undefine (to stop -Qy being + passed on to GAS) but do not define, as GAS no longer supports or + needs the -m2000 option. + +2005-01-11 Roger Sayle + + * builtins.c (fold_builtin_fabs): Convert argument to the appropriate + type as args of unprototyped builtins aren't automatically promoted. + (fold_builtin_abs): Likewise. + +2005-01-11 Kaveh R. Ghazi + + * Makefile.in: Set a `build-warn' variable. + +2005-01-11 Zdenek Dvorak + + PR tree-optimization/17949 + * tree-ssa-loop-ivopts.c (may_be_unaligned_p): New function. + (find_interesting_uses_address): Use it. + +2005-01-11 Aldy Hernandez + + * regrename.c (kill_value): Handle subreg's that won't simplify. + +2005-01-11 Richard Henderson + + PR target/13366 + * config/i386/i386.h (enum ix86_builtins): Move ... + * config/i386/i386.c: ... here. + (IX86_BUILTIN_MOVDDUP, IX86_BUILTIN_MMX_ZERO, IX86_BUILTIN_PEXTRW, + IX86_BUILTIN_PINSRW, IX86_BUILTIN_LOADAPS, IX86_BUILTIN_LOADSS, + IX86_BUILTIN_STORESS, IX86_BUILTIN_SSE_ZERO, IX86_BUILTIN_PEXTRW128, + IX86_BUILTIN_PINSRW128, IX86_BUILTIN_LOADAPD, IX86_BUILTIN_LOADSD, + IX86_BUILTIN_STOREAPD, IX86_BUILTIN_STORESD, IX86_BUILTIN_STOREHPD, + IX86_BUILTIN_STORELPD, IX86_BUILTIN_SETPD1, IX86_BUILTIN_SETPD, + IX86_BUILTIN_CLRPD, IX86_BUILTIN_LOADPD1, IX86_BUILTIN_LOADRPD, + IX86_BUILTIN_STOREPD1, IX86_BUILTIN_STORERPD, IX86_BUILTIN_LOADDQA, + IX86_BUILTIN_STOREDQA, IX86_BUILTIN_CLRTI, + IX86_BUILTIN_LOADDDUP): Remove. + (IX86_BUILTIN_VEC_INIT_V2SI, IX86_BUILTIN_VEC_INIT_V4HI, + IX86_BUILTIN_VEC_INIT_V8QI, IX86_BUILTIN_VEC_EXT_V2DF, + IX86_BUILTIN_VEC_EXT_V2DI, IX86_BUILTIN_VEC_EXT_V4SF, + IX86_BUILTIN_VEC_EXT_V8HI, IX86_BUILTIN_VEC_EXT_V4HI, + IX86_BUILTIN_VEC_SET_V8HI, IX86_BUILTIN_VEC_SET_V4HI): New. + (ix86_init_builtins): Make static. + (ix86_init_mmx_sse_builtins): Update for changed builtins. + (ix86_expand_binop_builtin): Only use ix86_fixup_binary_operands + if all the modes match. Otherwise, fake it. + (get_element_number, ix86_expand_vec_init_builtin, + ix86_expand_vec_ext_builtin, ix86_expand_vec_set_builtin): New. + (ix86_expand_builtin): Make static. Update for changed builtins. + (ix86_expand_vector_move_misalign): Use sse2_loadlpd with zero + operand instead of sse2_loadsd. Cast sse1 fallback to V4SFmode. + (ix86_expand_vector_init_duplicate): New. + (ix86_expand_vector_init_low_nonzero): New. + (ix86_expand_vector_init_one_var, ix86_expand_vector_init_general): + Split out from ix86_expand_vector_init; handle integer modes. + (ix86_expand_vector_init): Use them. + (ix86_expand_vector_set, ix86_expand_vector_extract): New. + * config/i386/i386-protos.h: Update. + * config/i386/predicates.md (reg_or_0_operand): New. + * config/i386/mmx.md (mov_internal): Add 'r' variants. + (movv2sf_internal): Likewise. And a splitter to match them all. + (vec_dupv2sf, mmx_concatv2sf, vec_setv2sf, vec_extractv2sf, + vec_initv2sf, vec_dupv4hi, vec_dupv2si, mmx_concatv2si, vec_setv2si, + vec_extractv2si, vec_initv2si, vec_setv4hi, vec_extractv4hi, + vec_initv4hi, vec_setv8qi, vec_extractv8qi, vec_initv8qi): New. + (mmx_pinsrw): Fix operand ordering. + * config/i386/sse.md (movv4sf splitter): Use direct pattern, + rather than sse_loadss expander. + (movv2df splitter): Similarly. + (sse_loadss, sse_loadlss): Remove. + (vec_dupv4sf, sse_concatv2sf, sse_concatv4sf, vec_extractv4sf_0): New. + (vec_setv4sf, vec_setv2df): Use ix86_expand_vector_set. + (vec_extractv4sf, vec_extractv2df): Use ix86_expand_vector_extract. + (sse3_movddup): Rename with '*'. + (sse3_movddup splitter): Use gen_rtx_REG instead of gen_lowpart. + (sse2_loadsd): Remove. + (vec_dupv2df_sse3): Rename from sse3_loadddup. + (vec_dupv2df, vec_concatv2df_sse3, vec_concatv2df): New. + (sse2_pinsrw): Fix argument ordering. + (sse2_loadld, sse2_loadq): Add sse1 alternatives. + (sse2_stored): Remove 'r' destination. + (vec_dupv4si, vec_dupv2di, sse2_concatv2si, sse1_concatv2si, + vec_concatv4si_1, vec_concatv2di, vec_setv2di, vec_extractv2di, + vec_initv2di, vec_setv4si, vec_extractv4si, vec_initv4si, + vec_setv8hi, vec_extractv8hi, vec_initv8hi, vec_setv16qi, + vec_extractv16qi, vec_initv16qi): New. + + * config/i386/emmintrin.h (__m128i, __m128d): Use typedef, not define. + (_mm_set_sd, _mm_set1_pd, _mm_setzero_pd, _mm_set_epi64x, + _mm_set_epi32, _mm_set_epi16, _mm_set_epi8, _mm_setzero_si128): Use + constructor form. + (_mm_load_pd, _mm_store_pd): Use plain dereference. + (_mm_load_si128, _mm_store_si128): Likewise. + (_mm_load1_pd): Use _mm_set1_pd. + (_mm_load_sd): Use _mm_set_sd. + (_mm_store_sd, _mm_storeh_pd): Use __builtin_ia32_vec_ext_v2df. + (_mm_store1_pd, _mm_storer_pd): Use _mm_store_pd. + (_mm_set_epi64): Use _mm_set_epi64x. + (_mm_set1_epi64x, _mm_set1_epi64, _mm_set1_epi32, _mm_set_epi16, + _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16, + _mm_setr_epi8): Use _mm_set_foo form. + (_mm_loadl_epi64, _mm_movpi64_epi64, _mm_move_epi64): Use _mm_set_epi64. + (_mm_storel_epi64, _mm_movepi64_pi64): Use __builtin_ia32_vec_ext_v2di. + (_mm_extract_epi16): Use __builtin_ia32_vec_ext_v8hi. + (_mm_insert_epi16): Use __builtin_ia32_vec_set_v8hi. + * config/i386/mmintrin.h (_mm_setzero_si64): Use plain cast. + (_mm_set_pi32): Use __builtin_ia32_vec_init_v2si. + (_mm_set_pi16): Use __builtin_ia32_vec_init_v4hi. + (_mm_set_pi8): Use __builtin_ia32_vec_init_v8qi. + (_mm_set1_pi16, _mm_set1_pi8): Use _mm_set_piN variant. + * config/i386/pmmintrin.h (_mm_loaddup_pd): Use _mm_load1_pd. + (_mm_movedup_pd): Use _mm_shuffle_pd. + * config/i386/xmmintrin.h (_mm_setzero_ps, _mm_set_ss, + _mm_set1_ps, _mm_set_ps, _mm_setr_ps): Use constructor form. + (_mm_cvtpi16_ps, _mm_cvtpu16_ps, _mm_cvtpi8_ps, _mm_cvtpu8_ps, + _mm_cvtps_pi8, _mm_cvtpi32x2_ps): Avoid __builtin_ia32_mmx_zero; + Use _mm_setzero_ps. + (_mm_load_ss, _mm_load1_ps): Use _mm_set* form. + (_mm_load_ps, _mm_loadr_ps): Use raw dereference. + (_mm_store_ss): Use __builtin_ia32_vec_ext_v4sf. + (_mm_store_ps): Use raw dereference. + (_mm_store1_ps): Use _mm_storeu_ps. + (_mm_storer_ps): Use _mm_store_ps. + (_mm_extract_pi16): Use __builtin_ia32_vec_ext_v4hi. + (_mm_insert_pi16): Use __builtin_ia32_vec_set_v4hi. + +2005-01-11 Stan Shebs + + * config/rs6000/rs6000.c (machopic_output_stub): Issue + ldu instead of lwzu if 64-bit -mdynamic-no-pic. + +2005-01-11 Andrew Pinski + + PR target/18761 + * config/rs6000/rs6000.c (rs6000_special_round_type_align): + Skip all DECLs except for FIELD_DECLs. + +2005-01-11 Andreas Krebbel + + * config/s390/s390.c (override_options): Return error if + -mbackchain, -mpacked-stack and -mhard-float are used together. + (s390_va_start): Remove the backchain && packed-stack special case. + (s390_gimplify_va_arg): Likewise. + * doc/invoke.texi: Remove the ABI incompatibility note. + +2005-01-11 Andreas Krebbel + + * config/s390/s390.c (struct s390_frame_layout): Remove + save_backchain_p. + (s390_frame_info, s390_emit_prologue): Replace occurrences of + save_backchain_p with TARGET_BACKCHAIN. + +2005-01-11 Alan Modra + + PR target/18916 + * builtins.c (std_gimplify_va_arg_expr): Adjust alignment of *ap. + * expr.h (struct locate_and_pad_arg_data): Add "boundary". + * function.c (locate_and_pad_parm): Set new field. + (assign_parm_find_stack_rtl): Use it instead of FUNCTION_ARG_BOUNDARY. + Tweak where_pad test to include "none". Always set mem align for + stack_parm. + (assign_parm_adjust_stack_rtl): Discard stack_parm if alignment + not sufficient for type. + (assign_parm_setup_block): If stack_parm is zero on entry, always + make a new stack local. Block move old stack parm if necessary + to new aligned stack local. + (assign_parm_setup_stack): Use a block move to handle + potentially misaligned entry_parm. + (assign_parms_unsplit_complex): Specify required alignment when + creating stack local. + * calls.c (compute_argument_addresses): Override alignment of stack + arg calculated from its type with the alignment given by + FUNCTION_ARG_BOUNDARY. + (store_one_arg): Likewise. + +2005-01-11 Jan Beulich + + * config/ia64/ia64.md (zero_extendsidi2): Replace zxt4 by addp4. + Change respective itanium_class attribute to ialu. + (shladdp4_internal): New. + * config/ia64/predicates.md (shladd_log2_operand): New. + +2005-01-11 Richard Henderson + + * expr.c (store_constructor): Use rtvec_alloc instead of + alloca+gen_rtvec_v, and an incorrect number passed to alloca. + +2005-01-11 Kazu Hirata + + * config/alpha/alpha.c, config/i386/mmx.md: Fix comment typos. + +2005-01-11 Alan Modra + + * varasm.c (default_section_type_flags_1): Don't set SECTION_SMALL. + * config/ia64/ia64.c (TARGET_SECTION_TYPE_FLAGS): Define. + (TARGET_RWRELOC): Define. + (ia64_rwreloc_section_type_flags): Delete. + (ia64_section_type_flags): New function. + * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): Don't define. + (TARGET_RWRELOC): Define. + +2005-01-10 David Mosberger + + PR target/18987 + * config/ia64/ia64.c (process_set): For alloc insn, only call + process_epilogue is !frame_pointer_needed. + +2005-01-10 Roger Sayle + + PR c++/19355 + * c-common.c (c_common_truthvalue_conversion): TRUTH_NOT_EXPR is a + unary operator and can't be treated as a binary/comparison operator. + +2005-01-10 Richard Henderson + + * config/i386/i386.c (ix86_function_value): Use type_natural_mode. + (ix86_return_in_memory): Likewise. + (function_arg_advance): Likewise. Mirror structure in function_arg + for choosing register to advance. + +2005-01-10 Kazu Hirata + + * tree-vectorizer.c, tree.def: Fix comment typos. + +2005-01-10 Mark Dettinger + + * config/s390/s390.c (struct processor_costs): 4 new fields: + ddbr, ddr, debr, der. + (s390_rtx_costs): More precise handling of divide instructions. + +2005-01-10 David Edelsohn + + * config/rs6000/t-aix43 (BOOT_LDFLAGS): Define. + +2005-01-10 Jan Beulich + + * config/ia64/ia64.c (ia64_in_small_data_p): Also handle the section + names resulting from -ffunction-sections/-fdata-sections and linkonce + ones. + * varasm.c (default_section_type_flags_1): Also set SECTION_SMALL + based on the section name. Rearrange the section name comparison logic + slightly so that each section name is compared against at most once. + +2005-01-10 Ben Elliston + + * doc/invoke.texi (Code Gen Options): Add PowerPC to the list of + targets for which -fPIC reduces limitations on the GOT size. + +2005-01-09 Falk Hueffner + + * fold-const.c (fold): Also handle EXACT_DIV_EXPR when folding + X/C1 cmpop C2. + +2005-01-09 David Edelsohn + + PR target/18720 + * collect2.c (main): Set aixrtl_flag for -brtl option. + (resolve_lib_name): Search for .so file extension before .a + if aixrtl_flag set. + +2005-01-09 Dorit Naishlos + + * tree-vectorizer.c (vect_enhance_data_refs_alignment): Add dump prints. + (vect_analyze_data_refs_alignment): Add dump prints. + +2005-01-09 Ira Rosen + + * tree-vectorizer.c (vect_analyze_offset_expr): Use + expr_invariant_in_loop_p. + Initialize outputs first thing in the function. + (vect_update_ivs_after_vectorizer): Call initial_condition_in_loop_num. + (vect_is_simple_iv_evolution): Call initial_condition_in_loop_num. + (vect_analyze_pointer_ref_access): Check that the initial condition of + the access function is loop invariant. + +2005-01-09 Richard Henderson + + * config/i386/i386.c (bdesc_2arg): Update names for mmx_ prefixes. + (ix86_expand_builtin): Likewise. Frob MASKMOVQ wrt the input mem + just like MASKMOVDQU. Return plain zero for MMX_ZERO. + * config/i386/i386.md (MMXMODEI, mov, + mov_internal_rex64, mov_internal, movv2sf, + movv2sf_internal_rex64, movv2sf_internal, MMXMODE, + movmisalign, mmx_pmovmskb, mmx_maskmovq, mmx_maskmovq_rex, + sse_movntdi, addv8qi3, addv4hi3, addv2si3, mmx_adddi3, ssaddv8qi3, + ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3, subv4hi3, subv2si3, + mmx_subdi3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3, + mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd, + sse2_umulsidi3, mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3, + mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pinsrw, + mmx_pextrw, mmx_pshufw, eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3, + gtv2si3, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3, + ashrv2si3, lshrv4hi3, lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3, + mmx_ashldi3, mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw, + mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd, + mmx_punpckldq, emms, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, + eqv2sf3, pfmaxv2sf3, pfminv2sf3, mulv2sf3, femms, pf2id, pf2iw, + pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pfrcpv2sf2, pfrcpit1v2sf3, + pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3, pmulhrwv4hi3, pswapdv2si2, + pswapdv2sf2): Move to mmx.md; rename as necessary with leading + mmx_ prefix. + (mmx_clrdi, pavgusb): Remove. + (ldmxcsr, stmxcsr, sfence, sfence_insn): Move to sse.md; rename + with leading sse_ prefix. + * config/i386/sse.md: Receive them. + * config/i386/mmx.md: New file. + (MMXMODE12, MMXMODE24, mmxvecsize): New. + (subrv2sf3): Turn into expander for normal subtraction. + (mmx_addv2sf3, mmx_mulv2sf3, mmx_smaxv2sf3, mmx_sminv2sf3, + mmx_eqv2sf3, mmx_mulv4hi3, mmx_smulv4hi3_highpart, + mmx_umulv4hi3_highpart, mmx_pmaddwd, mmx_pmulhrwv4hi3, sse2_umulsidi3, + mmx_umaxv8qi3, mmx_smaxv4hi3, mmx_uminv8qi3, mmx_sminv4hi3): Mark + commutative; use ix86_binary_operator_ok. + (mmx_add3, mmx_ssadd3, mmx_usadd3, + mmx_sub3, mmx_sssub3, mmx_ussub3 + mmx_ashr3, mmx_lshr3, mmx_ashl3 + mmx_eq3, mmx_gt3, mmx_and3, + mmx_nand3, mmx_ior3, mmx_xor3): + Macroize from existing patterns; use ix86_binary_operator_ok. + (mmx_packsswb, mmx_packssdw, mmx_packuswb): Add memory alternative. + (mmx_punpckhbw, mmx_punpcklbw, mmx_punpckhwd, mmx_punpcklwd, + mmx_punpckhdq, mmx_punpckhdq, mmx_punpckldq): Likewise. Model + with vec_select+vec_concat. + (mmx_pshufw, mmx_pshufw_1): Likewise. + (mmx_uavgv8qi3): Merge pavgusb. Model correcty. + (mmx_uavgv4hi3): Model correctly. + * config/i386/mmintrin.h (_mm_and_si64, _mm_andnot_si64, _mm_or_si64, + _mm_xor_si64): Remove casts. + +2005-01-09 Zdenek Dvorak + + PR tree-optimization/19224 + * tree-scalar-evolution.c (get_instantiated_value, + set_instantiated_value): New functions. + (instantiate_parameters_1): Cache the results. + (instantiate_parameters, resolve_mixers): Initialize and free + the cache. + +2005-01-08 David Edelsohn + + * config/i386/i386.md (addhi_4): Correct reference in comment. + (addqi_4): Same. + +2005-01-08 Richard Henderson + + * config/i386/emmintrin.h (_mm_cvtsi128_si32): Move earlier. + (_mm_cvtsi128_si64x): Likewise. + (_mm_srl_epi64, _mm_srl_epi32, _mm_srl_epi16, _mm_sra_epi32, + _mm_sra_epi16, _mm_sll_epi64, _mm_sll_epi32, _mm_sll_epi16): Use + the _mm_{srl,sll}i_foo counterpart, and _mm_cvtsi128_si32. + * config/i386/i386-modes.def: Add V16HI, V32QI, V4DF, V8SF. + * config/i386/i386-protos.h: Update. + * config/i386/i386.c (print_operand): Add 'H'. + (ix86_fixup_binary_operands): Split out from ... + (ix86_expand_binary_operator): ... here. + (ix86_fixup_binary_operands_no_copy): New. + (ix86_expand_fp_absneg_operator): Handle vector mode results. + (bdesc_2arg): Update names for sse{,2,3}_ prefixes. + (ix86_init_mmx_sse_builtins): Remove *maskncmp* special cases. + (safe_vector_operand): Use CONST0_RTX. + (ix86_expand_binop_builtin): Use ix86_fixup_binary_operands. + (ix86_expand_builtin): Merge CODE_FOR_sse2_maskmovdqu_rex64 and + CODE_FOR_sse2_maskmovdqu. Special case SSE version of MASKMOVDQU + expansion. Update names for sse{,2,3}_ prefixes. Remove *maskncmp* + special cases. + * config/i386/i386.h (IX86_BUILTIN_CMPNGTSS): New. + (IX86_BUILTIN_CMPNGESS): New. + * config/i386/i386.md (UNSPEC_FIX_NOTRUNC): New. + (attr type): Add sselog1. + (attr unit, attr memory): Handle it. **** TRUNCATED ****