mips.c (mips_scalar_mode_supported_p): Rewrite to avoid call to default function.
[gcc.git] / gcc / ChangeLog
index 9c032694b1ed209fbd0f50726d4f944de79cbb79..f9fa30f99a57a10f2394e55e83d8eed8bcdc717e 100644 (file)
@@ -1,3 +1,78 @@
+2004-12-08  Eric Christopher  <echristo@redhat.com>
+
+       * config/mips/mips.c (mips_scalar_mode_supported_p): Rewrite
+       to avoid call to default function.
+
+2004-12-08  Zack Weinberg  <zack@codesourcery.com>
+
+       PR 17982
+       * varasm.c (pending_assemble_externals): New static.
+       (assemble_external_real): Meat of assemble_external split out
+       to this new function.
+       (process_pending_assemble_externals): New function.
+       (assemble_external): Use gcc_assert.  If flag_unit_at_a_time
+       is true and the basic test passes, merely cons the decl onto
+       the pending list to be handled later.
+       * tree.h: Declare process_pending_assemble_externals.
+       * cgraphunit.c (cgraph_optimize): Call it.
+
+       * config/h8300/h8300.h: Do not define ASM_OUTPUT_EXTERNAL.
+
+2004-12-08  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cfgloopmanip.c (create_preheader): Speed up by "unrolling"
+       and simplifying FOR_EACH_EDGE.
+
+2004-12-08  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/frv/frv.c (frv_sort_insn_group): Always initialize
+       packet_group->nop.
+
+2004-12-08  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/18672
+       * gimplify.c (canonicalize_addr_expr): Cope with array of
+       incomplete type.
+       (gimplify_conversion): Remove redundant checks.
+
+       * doc/trouble.texi (Non-bugs): Clarify empty loop removal.
+
+2004-12-08  Uros Bizjak  <uros@kss-loka.si>
+
+       * config/i386/i386.c (output_387_binary_op,
+       ix86_prepare_fp_compare_args): Fix is_sse condition.
+
+2004-12-07  Uros Bizjak  <uros@kss-loka.si>
+
+       * config/i386/i386-protos.h (ix86_split_fp_branch): New rtx
+       argument.
+
+       * config/i386/i386.c (output_fp_compare): Fix is_sse condition.
+       Use EFLAGS_P only when fcomi insn should be used. Fix handling
+       of eflags_p variable. Change alt table accordingly. For non-fcomi
+       compare insn always use trailing fnstsw insn. Fix intmode
+       calculation for ficom insn.
+       (ix86_split_fp_branch): Add "rtx pushed" as new parameter. Call
+       ix86_free_from_memory when "pushed" is specified.
+       (ix86_expand_branch): Change call to ix86_split_fp_branch.
+
+       * config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, *cmpfp_0_xf):
+       Change eflags_p parameter in call to output_fp_compare.
+       (*cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf): Remove.
+       (*cmpfp_2_sf_1, *cmpfp_2_df_1, *cmpfp_2_xf_1): Rename to
+       *cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf.  Change eflags_p
+       parameter in call to output_fp_compare.
+       (*cmpfp_2_u): Remove.
+       (*cmpfp_2_u_1): Rename to *cmpfp_2_u. Change eflags_p parameter
+       in call to output_fp_compare.
+       (*ficom_1): Remove insn definition and corresponding define_split.
+       (*cmpfp_si): New insn definition.
+       (*fp_jcc_8): New insn definition. Add new splitters for
+       "memory_operand" and "register_operand".
+       (define_split): Add new parameter in call to ix86_split_fp_branch.
+
+       config/i386/predicates.md (float_operator): New predicate.
+
 2004-12-08  Kazu Hirata  <kazu@cs.umass.edu>
 
        * c-common.c (verify_tree): Don't check code length if we know
 
 2004-12-07  David Mosberger  <davidm@hpl.hp.com>
 
-        PR target/18443
-        * config/ia64/ia64.c (ia64_assemble_integer): Add support for
-        emitting unaligned pointer-sized integers.
+       PR target/18443
+       * config/ia64/ia64.c (ia64_assemble_integer): Add support for
+       emitting unaligned pointer-sized integers.
 
 2004-12-07  Steven Bosscher  <stevenb@suse.de>