+2004-12-23 Mark Mitchell <mark@codesourcery.com>
+
+ * gimplify.c (gimplify_modify_expr_rhs): Use types_compatible_p.
+
+2004-12-23 DJ Delorie <dj@redhat.com>
+
+ * genrecog.c (did_you_mean_codes): New.
+ (compute_predicate_codes): Fail unmatched codes.
+
+2004-12-23 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add
+ assert for machine=mips for !TARGET_IRIX.
+ * config/mips/linux.h: Remove machine=mips assert.
+ * config/mips/netbsd.h: Ditto.
+ * config/mips/openbsd.h: Ditto.
+
+2004-12-23 Dale Johannesen <dalej@apple.com>
+
+ * tree.c (iterative_hash_expr): Canonicalize builtins.
+
+2004-12-23 Alexandre Oliva <aoliva@redhat.com>
+
+ PR target/16819
+ * calls.c (load_register_parameters): Don't call use_regs when
+ nregs is zero.
+
+2004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR middle-end/17746
+ * expr.c (get_inner_reference): Add 'keep_aligning' parameter.
+ Break on aligning VIEW_CONVERT_EXPR nodes on STRICT_ALIGNMENT
+ platforms only if keep_aligning is true.
+ (expand_assignment): Adjust call to get_inner_reference.
+ (expand_expr_addr_expr_1): Likewise.
+ (expand_expr_real_1): Likewise.
+ * dojump.c (do_jump): Likewise.
+ * dwarf2out.c (loc_descriptor_from_tree_1): Likewise.
+ * fold-const.c (optimize_bit_field_compare): Likewise.
+ (decode_field_reference): Likewise.
+ (split_address_to_core_and_offset): Likewise.
+ * tree-ssa-loop-ivopts.c (split_address_cost): Likewise.
+ * tree.h (get_inner_reference): Adjust prototype.
+
+2004-12-23 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (override_options): Revert last change
+ wrt fancy 387 math.
+
+2004-12-23 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.md (one_cmpl<mode>2, and<mode>3, andnot<mode>3,
+ ior<mode>3, iornot<mode>3, xor<mode>3, xornot<mode>3): New macroized
+ vector operate patterns.
+
+2004-12-23 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (ix86_expand_vector_move): Tidy.
+ (ix86_expand_vector_move_misalign): New.
+ (ix86_misaligned_mem_ok): Remove.
+ (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
+ * config/i386/i386-protos.h: Update.
+ * config/i386/i386.md (SSEMODEI): Rename from SSEINT16.
+ (MMXMODEI): Rename from MMXINT8.
+ (SSEMODE, MMXMODE, movmisalign<mode>): New.
+
+2004-12-23 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/16405
+ * gimplify.c (gimplify_modify_expr_rhs): Handle
+ INDIRECT_REF/ADDR_EXPR combinations.
+
+2004-12-22 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_expand_mov): Split out ...
+ (alpha_expand_movmisalign): ... misaligned vector support.
+ (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
+ * config/alpha/alpha-protos.h: Update.
+ * config/alpha/alpha.md (VEC): New macro.
+ (movv8qi, movv4hi, movv2si): Compress with VEC.
+ (movv8qi_fix, movv4hi_fix, movv2si_fix): Likewise.
+ (movv8qi_nofix, movv4hi_nofix, movv2si_nofix): Likewise.
+ (movmisalign<mode>): New.
+
+2004-12-22 Richard Henderson <rth@redhat.com>
+
+ * optabs.h (OTI_movmisalign, movmisalign_optab): New.
+ * optabs.c (init_optabs): Create it.
+ * genopinit.c (optabs): Initialize it.
+ * expr.c (expand_expr_real_1) <MISALIGNED_INDIRECT_REF>: Use it.
+ * tree-vectorizer.c (vect_supportable_dr_alignment): Likewise.
+ * target-def.h (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
+ * target.h (vectorize.misaligned_mem_ok): Remove.
+ * targhooks.c (default_vect_misaligned_mem_ok): Remove.
+ * doc/md.texi (movmisalign): New.
+ * doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
+
+2004-12-22 Richard Henderson <rth@redhat.com>
+
+ * config/i386/emmintrin.h (_mm_loadh_pd): Don't cast pointer arg
+ to __v2si.
+ (_mm_storeh_pd, _mm_loadl_pd, _mm_storel_pd): Likewise.
+ * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use double* or
+ const double* for __builtin_ia32_loadhpd, __builtin_ia32_loadlpd,
+ __builtin_ia32_storehpd, __builtin_ia32_storelpd.
+ (ix86_expand_builtin): Update to match.
+ (ix86_expand_vector_init): Use sse2_loadlpd.
+ * config/i386/i386.md (vec_setv2df): Use sse2_loadlpd, sse2_loadhpd.
+ (vec_extractv2df): Use sse2_storelpd, sse2_storehpd.
+ (sse2_storehpd, sse2_loadhpd, sse2_storelpd, sse2_loadlpd): New.
+ (sse2_movhpd): Remove.
+
+2004-12-23 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/18751
+ * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Return
+ false for anything larger than 32 bits in 32-bit code.
+
+2004-12-22 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.md (btsq, btrq, btcq): Fix modes.
+ (bt peepholes): Likewise.
+
+ * varasm.c (force_const_mem): Call set_mem_align.
+
+2004-12-22 Richard Henderson <rth@redhat.com>
+
+ * config/i386/predicates.md (sse_comparison_operator): Fix
+ typo in ieee test.
+ (arith_or_logical_operator): Downcase codes.
+
+2004-12-23 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/18511
+ * reload1.c (emit_output_reload_insns): Check if OLD is a hard
+ register before calling regno_clobbered_p.
+ * reload.c: Update comment for regno_clobbered_p.
+
+2004-12-22 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (override_options): Respect user disable of
+ fancy 387 math, sse, mmx.
+ (construct_container): Generate error if we need an sse regster
+ and sse has been disabled.
+ * config/i386/i386.h (TARGET_SWITCHES): Disabling sse also disables
+ later sse generations. Disabling mmx also disables 3dnow.
+
+2004-12-22 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-inline.c (struct inline_data): Remove inlined_fns.
+ (expand_call_inline): Remove dead code setting
+ inlined_fns.
+ (optimize_inline_calls): Remove dead code setting DECL_INLINED_FNS.
+ * tree.h (struct tree_decl): Remove inlined_fns.
+
+2004-12-22 Roger Sayle <roger@eyesopen.com>
+
+ * tree-browser.c: Remove obsolete #ifdef HOST_EBCDIC code.
+
2004-12-23 Alan Modra <amodra@bigpond.net.au>
PR target/18896