+2007-06-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/constraints.md ("z"): Replaced by ...
+ ("Y0"): This.
+ * config/i386/sse.md (sse4_1_blendvpd): Likewise.
+ (sse4_1_blendvps): Likewise.
+ (sse4_1_pblendvb): Likewise.
+ (sse4_2_pcmpestr): Likewise.
+ (sse4_2_pcmpestrm): Likewise.
+ (sse4_2_pcmpestr_cconly): Likewise.
+ (sse4_2_pcmpistr): Likewise.
+ (sse4_2_pcmpistrm): Likewise.
+ (sse4_2_pcmpistr_cconly): Likewise.
+
+2007-06-05 Razya Ladelsky <razya@il.ibm.com>
+
+ * matrix-reorg.c (transform_access_sites): Fix computation.
+ (transform_allocation_sites): Same.
+
+2007-06-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (override_options): Use
+ TARGET_SUBTARGET32_ISA_DEFAULT to select default ix86_isa_flags.
+
+2007-06-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (reg_not_xmm0_operand): New predicate.
+ (nonimm_not_xmm0_operand): Ditto.
+ * config/i386/sse.md ("sse4_1_blendvpd"): Use "reg_not_xmm0_operand"
+ as operand[0] and operand[1] predicate. Use "nonimm_not_xmm0_operand"
+ as operand[2] predicate. Require "z" class XMM register for
+ operand[3]. Adjust asm template.
+ ("sse4_1_blendvpd"): Ditto.
+ ("sse4_1_pblendvb"): Ditto.
+ * config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Do not
+ force op2 into xmm0 register for variable blend instructions.
+
+2007-06-04 Tom Tromey <tromey@redhat.com>
+
+ * c-tree.h (start_enum): Update.
+ (build_enumerator): Likewise.
+ * c-decl.c (enum_next_value): Removed.
+ (enum_overflow): Likewise.
+ (start_enum): Add c_enum_contents argument. Don't use globals.
+ (build_enumerator): Likewise.
+ * c-tree.h (struct c_enum_contents): New struct.
+
+2007-06-04 Tom Tromey <tromey@redhat.com>
+
+ * c-common.c (c_common_get_alias_set): Fix indentation.
+
+2007-06-04 Ian Lance Taylor <iant@google.com>
+
+ * tree-vrp.c (adjust_range_with_scev): When loop is not expected
+ to overflow, reduce overflow infinity to regular infinity.
+ (vrp_var_may_overflow): New static function.
+ (vrp_visit_phi_node): Check vrp_var_may_overflow.
+
+2007-06-04 Kazu Hirata <kazu@codesourcery.com>
+
+ * stor-layout.c (layout_type): Remove duplicate code.
+
+2007-06-04 Uros Bizjak <ubizjak@gmail.com>
+
+ PR c/32191
+ * gcc/c-common.c (c_define_builtins): Call targetm.init_builtins ()
+ before build_common_builtin_nodes ().
+
+2007-06-04 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/31733
+ * cfgrtl.c (rtl_verify_flow_info): Skip notes when looking for barrier.
+
+2007-05-31 Jan Hubicka <jh@suse.cz>
+
+ * tree-predcom.c (replace_ref_with, initialize_root_vars_lm,
+ reassociate_to_the_same_stmt): Call build_gimple_modify_stmt
+ instead of _stat version.
+
+2007-06-03 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/32194
+ * tree-predcom.c (determine_offset): Check that both references have
+ the same type.
+
+2007-06-03 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * cfgloopmanip.c (remove_path, loopify, duplicate_loop_to_header_edge):
+ Change dom_bbs to vector. Add argument to iterate_fix_dominators call.
+ * loop-unroll.c (unroll_loop_runtime_iterations): Ditto.
+ * tree-cfg.c (tree_duplicate_sese_region): Change doms to vector.
+ Add argument to iterate_fix_dominators call.
+ (remove_edge_and_dominated_blocks): Pass vector to bbs_to_fix_dom.
+ * gcse.c (hoist_code): Change domby to vector.
+ * cfghooks.c (make_forwarder_block): Change doms_to_fix to vector.
+ Add argument to iterate_fix_dominators call.
+ * loop-doloop.c (doloop_modify): Changed recount_dominator to
+ recompute_dominator.
+ * lambda-code.c (perfect_nestify): Ditto.
+ * cfgloopanal.c: Include graphds.h.
+ (struct edge, struct vertex, struct graph, dump_graph, new_graph,
+ add_edge, dfs, for_each_edge, free_graph): Moved to graphds.c.
+ (mark_irreducible_loops): Use graphds_scc. Remove argument from
+ add_edge call.
+ * graphds.c: New file.
+ * graphds.h: New file.
+ * dominance.c: Include vecprim.h, pointer-set.h and graphds.h.
+ (get_dominated_by, get_dominated_by_region): Change return type to
+ vector.
+ (verify_dominators): Recompute all dominators and compare the results.
+ (recount_dominator): Renamed to ...
+ (recompute_dominator): ... this. Do not check that the block is
+ dominated by entry.
+ (iterate_fix_dominators): Reimplemented.
+ (prune_bbs_to_update_dominators, root_of_dom_tree,
+ determine_dominators_for_sons): New functions.
+ * et-forest.c (et_root): New function.
+ * et-forest.h (et_root): Declare.
+ * Makefile.in (graphds.o): Add.
+ (cfgloopanal.o): Add graphds.h dependency.
+ (dominance.o): Add graphds.h, vecprim.h and pointer-set.h dependency.
+ * basic-block.h (get_dominated_by, get_dominated_by_region,
+ iterate_fix_dominators): Declaration changed.
+ (recount_dominator): Renamed to ...
+ (recompute_dominator): ... this.
+ * tree-ssa-threadupdate.c (thread_block): Free dominance info.
+ (thread_through_all_blocks): Do not free dominance info.
+
+2007-06-03 Andreas Schwab <schwab@suse.de>
+
+ * config/m68k/m68k.c (override_options): Don't override
+ REAL_MODE_FORMAT.
+ * config/m68k/m68k-modes.def (SF, DF): Define to use
+ motorola_single_format and motorola_double_format, resp.
+ * real.c (motorola_single_format): Renamed from
+ coldfire_single_format.
+ (motorola_double_format): Renamed from coldfire_double_format.
+ (encode_ieee_extended): Generate a proper canonical NaN image
+ respecting canonical_nan_lsbs_set.
+ (ieee_extended_motorola_format): Set canonical_nan_lsbs_set to
+ true.
+ * real.h: Adjust declarations.
+
+2007-06-03 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/32163
+ * config/sh/sh.md (symGOT_load): Don't schedule insns when
+ the symbol is generated with the stack protector.
+
+2007-06-03 Kazu Hirata <kazu@codesourcery.com>
+
+ * config/m68k/m68k.c (m68k_attribute_table): Add "interrupt".
+ (m68k_get_function_kind): Return m68k_fk_interrupt_handler on
+ "interrupt".
+ * doc/extend.texi (interrupt): Mention m68k.
+
+2007-06-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Call
+ safe_vector_operand() if input operand is VECTOR_MODE_P operand.
+ (ix86_expand_sse_pcmpestr): Do not check operands for
+ "register_operand", when insn operand predicate is "register_operand".
+ (ix86_expand_sse_pcmpistr): Ditto.
+
+2007-06-02 H.J. Lu <hongjiu.lu@intel.com>
+ Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (enum reg_class) [SSE_FIRST_REG]: New.
+ (SSE_CLASS_P): Use reg_class_subset_p between SSE_REGS.
+ (REG_CLASS_NAMES): Add "FIRST_SSE_REG" string.
+ (REG_CLASS_CONTENTS): Add members of FIRST_SSE_REG class.
+ * config/i386/constraints.md ("z"): New register constraint
+ for members of SSE_FIRST_REG class.
+ * config/i386/i386-modes.def (CCA, CCC, CCO, CCS): New compare modes.
+ * config/i386/i386.c (regclass_map): Change class of %xmm0 to
+ SSE_FIRST_REG class.
+ (put_condition_code) [EQ, NE]: Output suffixes for new compare modes.
+ (ix86_cc_modes_compatible): Handle CCA, CCC, CCO and CCS modes.
+ (IX86_BUILTIN_PCMPESTRI128): New for SSE4.2.
+ (IX86_BUILTIN_PCMPESTRM128): Likewise.
+ (IX86_BUILTIN_PCMPESTRA128): Likewise.
+ (IX86_BUILTIN_PCMPESTRC128): Likewise.
+ (IX86_BUILTIN_PCMPESTRO128): Likewise.
+ (IX86_BUILTIN_PCMPESTRS128): Likewise.
+ (IX86_BUILTIN_PCMPESTRZ128): Likewise.
+ (IX86_BUILTIN_PCMPISTRI128): Likewise.
+ (IX86_BUILTIN_PCMPISTRM128): Likewise.
+ (IX86_BUILTIN_PCMPISTRA128): Likewise.
+ (IX86_BUILTIN_PCMPISTRC128): Likewise.
+ (IX86_BUILTIN_PCMPISTRO128): Likewise.
+ (IX86_BUILTIN_PCMPISTRS128): Likewise.
+ (IX86_BUILTIN_PCMPISTRZ128): Likewise.
+ (struct builtin_description): Change "flag" field to unsigned.
+ (bdesc_pcmpestr): New builtin description table.
+ (bdesc_pcmpistr): Likewise.
+ (ix86_init_mmx_sse_builtins): Define int_ftype_v16qi_int_v16qi_int_int,
+ v16qi_ftype_v16qi_int_v16qi_int_int and int_ftype_v16qi_v16qi_int.
+ Initialize pcmp[ei]str[im] insns for SSE4.2.
+ (ix86_expand_sse_pcmpestr): New subroutine of ix86_expand_builtin.
+ (ix86_expand_sse_pcmpistr): Likewise.
+ (ix86_expand_builtin): Expand pcmp[ei]str[im] builtins for SSE4.2.
+ * config/i386/i386.md (UNSPEC_PCMPESTR): New for SSE4.2.
+ (UNSPEC_PCMPISTR): Likewise.
+ * config/i386/sse.md (sse4_2_pcmpestr): New insn patern and splitter.
+ (sse4_2_pcmpestri):New isns pattern.
+ (sse4_2_pcmpestrm): Likewise.
+ (sse4_2_pcmpestr_cconly): Likewise.
+ (sse4_2_pcmpistr): New insn patern and splitter.
+ (sse4_2_pcmpistri):New isns pattern.
+ (sse4_2_pcmpistrm): Likewise.
+ (sse4_2_pcmpistr_cconly): Likewise.
+ * config/i386/smmintrin.h: Enable pcmp[ei]str[im] intrinsics
+ in SSE4.2.
+
+2007-06-01 David Daney <ddaney@avtrex.com>
+
+ * config/mips/mips.c (mips_output_mi_thunk): Only load gp if not
+ LOADGP_ABSOLUTE and not binds_local_p.
+
+2007-06-01 Geoffrey Keating <geoffk@apple.com>
+
+ * config/darwin.h (LINK_SPEC): Pass -fpie through to the linker.
+
+2007-06-01 Ian Lance Taylor <iant@google.com>
+
+ * tree-vrp.c (compare_name_with_value): Always set
+ used_strict_overflow if we get a result from the variable itself.
+
+2007-06-01 Ian Lance Taylor <iant@google.com>
+
+ PR rtl-optimization/31455
+ * lower-subreg.c (find_decomposable_subregs): Don't decompose
+ subregs which have a cast between modes which are not tieable.
+
+2007-06-01 Uros Bizjak <ubizjak@gmail.com>
+
+ * expr.c (force_operand) [DIV, MOD, UDIV, UMOD, ASHIFTRT]: Remove
+ breaks after return statements.
+
+2007-06-01 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (fpscr_set_from_mem): Call get_free_reg
+ only after no_new_pseudos.
+
+2007-05-31 Eric Christopher <echristo@apple.com>
+
+ * expr.c (convert_move): Assert that we don't have a BLKmode
+ operand.
+ (store_expr): Handle BLKmode moves by calling emit_block_move.
+
+2007-05-31 Daniel Berlin <dberlin@dberlin.org>
+
+ * c-typeck.c (build_indirect_ref): Include type in error message.
+ (build_binary_op): Pass types to binary_op_error.
+ * c-common.c (binary_op_error): Take two type arguments, print out
+ types with error.
+ * c-common.h (binary_op_error): Update prototype.
+
+2007-05-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c: Correct coments on -mno-sse4.
+
+2007-05-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc (i[34567]86-*-*): Add nmmintrin.h to extra_headers.
+ (x86_64-*-*): Likewise.
+ * config/i386/i386.c (OPTION_MASK_ISA_MMX_UNSET): New.
+ (OPTION_MASK_ISA_3DNOW_UNSET): Likewise.
+ (OPTION_MASK_ISA_SSE_UNSET): Likewise.
+ (OPTION_MASK_ISA_SSE2_UNSET): Likewise.
+ (OPTION_MASK_ISA_SSE3_UNSET): Likewise.
+ (OPTION_MASK_ISA_SSSE3_UNSET): Likewise.
+ (OPTION_MASK_ISA_SSE4_1_UNSET): Likewise.
+ (OPTION_MASK_ISA_SSE4_2_UNSET): Likewise.
+ (OPTION_MASK_ISA_SSE4): Likewise.
+ (OPTION_MASK_ISA_SSE4_UNSET): Likewise.
+ (OPTION_MASK_ISA_SSE4A_UNSET): Likewise.
+ (ix86_handle_option): Use OPTION_MASK_ISA_*_UNSET. Handle SSE4.2.
+ (override_options): Support SSE4.2.
+ (ix86_build_const_vector): Support SImode and DImode.
+ (ix86_build_signbit_mask): Likewise.
+ (ix86_expand_int_vcond): Support V2DImode.
+ (IX86_BUILTIN_CRC32QI): New for SSE4.2.
+ (IX86_BUILTIN_CRC32HI): Likewise.
+ (IX86_BUILTIN_CRC32SI): Likewise.
+ (IX86_BUILTIN_CRC32DI): Likewise.
+ (IX86_BUILTIN_PCMPGTQ): Likewise.
+ (bdesc_crc32): Likewise.
+ (bdesc_sse_3arg): Likewise.
+ (ix86_expand_crc32): Likewise.
+ (ix86_init_mmx_sse_builtins): Support SSE4.2.
+ (ix86_expand_builtin): Likewise.
+ * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
+ __SSE4_2__ for -msse4.2.
+ * config/i386/i386.md (UNSPEC_CRC32): New for SSE4.2.
+ (CRC32MODE): Likewise.
+ (crc32modesuffix): Likewise.
+ (crc32modeconstraint): Likewise.
+ (sse4_2_crc32<mode>): Likewise.
+ (sse4_2_crc32di): Likewise.
+ * config/i386/i386.opt (msse4.2): New for SSE4.2.
+ (msse4): Likewise.
+ * config/i386/nmmintrin.h: New. The dummy SSE4.2 intrinsic header file.
+ * config/i386/smmintrin.h: Add SSE4.2 intrinsics.
+ * config/i386/sse.md (sse4_2_gtv2di3): New pattern for SSE4.2.
+ (vcond<mode>): Use SSEMODEI instead of SSEMODE124.
+ (vcondu<mode>): Likewise.
+ * doc/extend.texi: Document SSE4.2 built-in functions.
+ * doc/invoke.texi: Document -msse4.2/-msse4.
+
+2007-05-31 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/32160
+ * tree-predcom.c (predcom_tmp_var): New function. Mark created
+ variable as gimple reg.
+ (initialize_root_vars, initialize_root_vars_lm): Use predcom_tmp_var.
+
+2007-05-31 Kazu Hirata <kazu@codesourcery.com>
+
+ * gcc.c (main): Don't consider linker options when issuing the
+ warning about a linker input file not being used.
+
+2007-05-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * tree-vrp.c (compare_names): Initialize sop.
+
+2007-05-30 Dirk Mueller <dmueller@suse.de>
+
+ * cgraphunit.c (cgraph_analyze_function): Remove
+ computation of inline parameters.
+
+2007-05-30 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/darwin.h (TARGET_SUBTARGET_DEFAULT): Undef before define.
+
+2007-05-30 Richard Sandiford <richard@codesourcery.com>
+
+ * config.gcc (arm-wrs-vxworks): Remove dbxelf.h from tm_file.
+ Add vx-common.h. Include vxworks.h between vx-common.h and
+ arm/vxworks.h.
+ * config/vx-common.h (DWARF2_UNWIND_INFO): Undefine before
+ redefining.
+ * config/vxworks.h (TARGET_ASM_CONSTRUCTOR): Likewise.
+ (TARGET_ASM_DESTRUCTOR): Likewise.
+ * config/arm/vxworks.h (TARGET_OS_CPP_BUILTINS): Check arm_arch_xscale
+ instead of arm_is_xscale. Use VXWORKS_OS_CPP_BUILTINS.
+ (OVERRIDE_OPTIONS, SUBTARGET_CPP_SPEC): Define.
+ (CC1_SPEC): Add -tstrongarm. Line up backslashes.
+ (VXWORKS_ENDIAN_SPEC): Define.
+ (ASM_SPEC): Add VXWORKS_ENDIAN_SPEC.
+ (LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Redefine to their
+ VXWORKS_* equivalents.
+ (LINK_SPEC): Likewise, but add VXWORKS_ENDIAN_SPEC.
+ (ASM_FILE_START): Delete.
+ (TARGET_VERSION): Reformat.
+ (FPUTYPE_DEFAULT, FUNCTION_PROFILER): Define.
+ (DEFAULT_STRUCTURE_SIZE_BOUNDARY): Define.
+ * config/arm/t-vxworks (LIB1ASMSRC, LIB1ASMFUNCS): Define.
+ (FPBIT, DPBIT): Define.
+ (fp-bit.c, dp-bit.c): New rules.
+ (MULTILIB_OPTIONS): Add strongarm, -mrtp and -mrtp/-fPIC multilibs.
+ (MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Define.
+ * config/arm/arm-protos.h (arm_emit_call_insn): Declare.
+ * config/arm/arm.h: Include vxworks-dummy.h.
+ * config/arm/arm.c (arm_elf_asm_constructor, arm_elf_asm_destructor):
+ Mark with ATTRIBUTE_UNUSED.
+ (arm_override_options): Do not allow VxWorks RTP PIC to be used
+ for Thumb. Force r9 to be the PIC register for VxWorks RTPs and
+ make it incompatible with -msingle-pic-base.
+ (arm_function_ok_for_sibcall): Return false for calls that might
+ go through a VxWorks PIC PLT entry.
+ (require_pic_register): New function, split out from...
+ (legitimize_pic_address): ...here. Do not use GOTOFF accesses
+ for VxWorks RTPs.
+ (arm_load_pic_register): Handle the VxWorks RTP initialization
+ sequence. Use pic_reg as a shorthand for cfun->machine->pic_reg.
+ (arm_emit_call_insn): New function.
+ (arm_assemble_integer): Do not use GOTOFF accesses for VxWorks RTP.
+ * config/arm/arm.md (UNSPEC_PIC_OFFSET): New unspec number.
+ (pic_offset_arm): New pattern.
+ (call, call_value): Use arm_emit_call_insn.
+ (call_internal, call_value_internal): New expanders.
+ * config/arm/lib1funcs.asm (__PLT__): Define to empty for
+ VxWorks unless __PIC__.
+
+2007-05-30 Eric Christopher <echristo@gmail.com>
+
+ * genrecog.c: Include regs.h in generated file.
+ * genemit.c: Ditto. Fix up formatting.
+ * config/mn10300/constraints.md: New.
+ * config/mn10300/mn10300.md: Include.
+ * config/mn10300/mn10300.c(mn10300_secondary_reload_class):
+ Fix up for removed macro.
+ * config/mn10300/predicates.md (call_address_operand): Ditto.
+ * config/mn10300/mn10300.h (REG_CLASS_FROM_LETTER): Delete.
+ (CONST_OK_FOR_I): Ditto.
+ (CONST_OK_FOR_J): Ditto.
+ (CONST_OK_FOR_K): Ditto.
+ (CONST_OK_FOR_L): Ditto.
+ (CONST_OK_FOR_M): Ditto.
+ (CONST_OK_FOR_N): Ditto.
+ (CONST_DOUBLE_OK_FOR_LETTER_P): Ditto.
+ (OK_FOR_Q): Ditto.
+ (OK_FOR_R): Ditto.
+ (OK_FOR_T): Ditto.
+ (EXTRA_CONSTRAINT): Ditto.
+
+2007-05-30 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (MASK_64BIT, MASK_MMX, MASK_3DNOW*, MASK_SSE*):
+ Remove defines.
+ * config/i386/biarch.h (TARGET_64BIT_DEFAULT): Define to
+ OPTION_MASK_ISA_64BIT.
+ * config/i386/i386.c: Rename MASK_* macros to OPTION_MASK_ISA_*.
+
+2007-05-30 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/32152
+ * gimplify.c (gimplify_omp_atomic_pipeline): Use correct
+ types for comparison.
+ * fold-const.c (fold_comparison): Call maybe_canonicalize_comparison
+ with original typed arguments.
+ * config/i386/i386.c (ix86_gimplify_va_arg): Fix type mismatches.
+
+2007-05-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/31769
+ * except.c (duplicate_eh_regions): Clear prev_try if
+ ERT_MUST_NOT_THROW region is inside of ERT_TRY region.
+
+2007-05-30 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-scalar-evolution.c (scev_const_prop): Do not create labels.
+ * tree-ssa-sink.c (statement_sink_location): Return basic block and
+ bsi of the location where statements should be inserted.
+ (sink_code_in_bb): Take bsi from statement_sink_location.
+ * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use bsi_after_labels
+ instead of bsi_start.
+ * tree-profile.c (tree_gen_ic_func_profiler): Pass BSI_NEW_STMT to
+ bsi_insert_after.
+ * tree-cfg.c (bsi_move_after): Pass BSI_NEW_STMT to bsi_insert_after.
+ (bsi_move_before): Document inconsistency with bsi_move_after.
+ (tree_redirect_edge_and_branch): Do not create labels if not necessary.
+
+2007-05-30 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (TARGET_ABM): New define.
+ (TARGET_POPCNT): Ditto.
+ (TARGET_64BIT, TARGET_MMX, TARGET_3DNOW, TARGET_3DNOW_A, TARGET_SSE*):
+ New temporary defines to redefine from OPTION_ISA_* defines.
+ (MASK_64BIT, MASK_MMX, MASK_3DNOW, MASK_3DNOW_A, MASK_SSE*):
+ New temporary defines to redefine from OPTION_MASK_ISA_* defines.
+ (ix86_isa_flags): New extern int declaration.
+ (TARGET_SUBTARGET_DEFAULT): New define.
+ (TARGET_SUBTARGET_ISA_DEFAULT): Ditto.
+ (TARGET_SUBTARGET32_DEFAULT): Ditto.
+ (TARGET_SUBTARGET32_ISA_DEFAULT): Ditto.
+ (TARGET_SUBTARGET64_ISA_DEFAULT): Ditto.
+ * config/i386/unix.h: Undef TARGET_SUBTARGET_DEFAULT before define.
+ * config/i386/darwin.h: Change TARGET_64BIT define to
+ OPTION_ISA_64BIT.
+
+ * config/i386/i386.opt (m3dnowa): Define as undocumented option
+ using existing "ix86_isa_flags" varible.
+ (m32, m64): Use existing "ix86_isa_flags" variable.
+ (mmmx, m3dnow): Ditto.
+ (msse, msse2, msse3, mssse3, msse4.1, msse4a): Ditto.
+ (mabm): Define as non-negative option using "x86_abm" variable.
+ (mpopcnt): Define as non-negative option using "x86_popcnt" variable.
+
+ * config/i386/i386.c (ix86_arch_features) [X86_ARCH_CMOVE]:
+ Rewrite feature test bitmap.
+ (ix86_isa_flags): New initialized global int varible.
+ (ix86_isa_flags_explicit): New static int variable.
+ (ix86_handle_option): Set "ix86_isa_flags_explicit" when mmmx, m3dnow,
+ msse, msse2, msse3, msse4.1 and msse4a option is processed. Change
+ i86_isa_flags and ix86_isa_flags_explicit, not target_flags and
+ target_flags_explicit.
+ (override_options): Remove "target_enable" and "target_disable" fields
+ from "struct ptt". Update processor_target_table accordingly. Remove
+ PTA_PREFETCH_SSE from processor_alias_table entry if PTE_SSE is
+ defined and rearrange PTA_* bits. Use "ix86_isa_flags" instead of
+ "target_flags" and "ix86_isa_flags_explicit" instead of
+ "target_flags_explicit" when masked with MASK_64BIT, MASK_MMX,
+ MASK_3DNOW, MASK_3DNOW_A or MASK_SSE*. Set "x86_abm" to true when
+ PTA_ABM is set in processor_alias_table flags entry. Set "x86_popcnt"
+ to true when either of PTA_POPCNT or PTA_ABM is set in
+ processor_alias_table flags entry. Set "x86_prefetch_sse" to true
+ when either of PTA_PREFETCH_SSE or PTA_SSE is set in
+ processor_alias_table flags entry. Remove handling of
+ "target_enable" and "target_disable" fields of processor_target_table.
+ Mask "target_flags" with TARGET_SUBTARGET32_DEFAULT for 32-bit
+ targets or with TARGET_SUBTARGET64_DEFAULT for 64-bit targets.
+ Mask "ix86_isa_flags" with TARGET_SUBTARGET32_ISA_DEFAULT for 32-bit
+ targets or with TARGET_SUBTARGET64_ISA_DEFAULT for 64-bit targets.
+ (def_builtin): Mask "mask" variable with "ix86_isa_flags", not
+ "target_flags".
+ (TARGET_DEFAULT_TARGET_FLAGS): Do not include TARGET_64BIT_DEFAULT.
+
+2007-05-29 David Daney <ddaney@avtrex.com>
+
+ PR gcc/31975
+ * config/mips/mips.c (mips_output_mi_thunk): Emit
+ NOTE_INSN_PROLOGUE_END at beginning of the thunk.
+
+2007-05-29 Hui-May Chang <hm.chang@apple.com>
+ * config/i386/i386.c (ix86_function_regparm): Added checking of
+ ix86_force_align_arg_pointer to determine the number of
+ register parameters.
+
+2007-05-29 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-vectorizer.h (DR_MISALIGNMENT): Cast aux to integer.
+ (SET_DR_MISALIGNMENT): New.
+ * tree-vect-analyze.c (vect_compute_data_ref_alignment,
+ vect_update_misalignment_for_peel, vect_enhance_data_refs_alignment):
+ Use SET_DR_MISALIGNMENT.
+ * tree-predcom.c (split_data_refs_to_components): Cast dr->aux from
+ pointer.
+ * tree-data-ref.c (create_data_ref, compute_all_dependences,
+ find_loop_nest): Export.
+ * tree-data-ref.h (struct data_reference): Change aux field to pointer.
+ (create_data_ref, compute_all_dependences, find_loop_nest): Declare.
+ * tree-ssa-loop-prefetch.c: Include tree-data-ref.h.
+ (L1_CACHE_SIZE_BYTES, L2_CACHE_SIZE_BYTES, NONTEMPORAL_FRACTION):
+ New macros.
+ (struct mem_ref): Add field reuse_distance.
+ (find_or_create_group, record_ref): Use XNEW instead of xcalloc.
+ Initialize reuse_distance field.
+ (issue_prefetch_ref): Select temporality of prefetch according to
+ reuse_distance.
+ (volume_of_references, volume_of_dist_vector, add_subscript_strides,
+ self_reuse_distance, determine_loop_nest_reuse): New functions.
+ (loop_prefetch_arrays): Call determine_loop_nest_reuse.
+ (tree_ssa_prefetch_arrays): Dump L2 cache size.
+ * Makefile.in (tree-ssa-loop-prefetch.o): Add TREE_DATA_REF_H
+ dependency.
+
+2007-05-29 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-ssa-alias.c: Add aliasing overview.
+
+2007-05-29 Zuxy Meng <zuxy.meng@gmail.com>
+ Danny Smith <dannysmith@users.sourceforge.net>
+
+ PR target/29498
+ * config/i386/t-crtfm: Compile crtfastmath.o with
+ -minline-all-stringops.
+ * config/i386/cygwin.h (ENDFILE_SPECS): Add crtfastmath.o.
+ * config/i386/mingw32.h (ENDFILE_SPECS): Add crtfastmath.o.
+
+2007-05-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * doc/md.texi: Document constraints on HP PA-RISC.
+
+ * pa/constraints.md: New file.
+ * pa.md: Include constraints.md.
+ * pa.c (cint_ok_for_move): Avoid using CONST_OK_FOR_LETTER_P.
+ (integer_store_memory_operand, ldil_cint_p): New functions.
+ * pa-protos.h (integer_store_memory_operand, ldil_cint_p): Declare.
+ * pa.h (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P,
+ IS_RELOADING_PSEUDO_P, EXTRA_CONSTRAINT): Remove.
+ * pa32-regs.h (REG_CLASS_FROM_LETTER): Remove.
+ * pa64-regs.h (REG_CLASS_FROM_LETTER): Remove.
+
+2007-05-28 Andrew Pinski <Andrew_pinski@playstation.sony.com>
+
+ PR c/31339
+ * c-typeck.c (build_unary_op <case PREINCREMENT_EXPR,
+ case POSTINCREMENT_EXPR, case PREDECREMENT_EXPR,
+ case POSTDECREMENT_EXPR>): Return the error_mark_node
+ if either the real or imaginary parts would an
+ error_mark_node.
+
+2007-05-28 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-ssa-dce.c (eliminate_unnecessary_stmts): Release LHS SSA
+ name when we remove it from a call.
+
+2007-05-28 Kazu Hirata <kazu@codesourcery.com>
+
+ * targhooks.c (default_narrow_bitfield): Remove.
+ * targhooks.h: Remove the prototype for
+ default_narrow_bitfield.
+
+ * langhooks-def.h: Remove the prototype for
+ hook_get_alias_set_0.
+ * langhooks.c (hook_get_alias_set_0): Remove.
+
+ * global.c (EXECUTE_IF_CONFLICT): Remove.
+
+2007-05-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR tree-opt/32100
+ * fold-const.c (tree_expr_nonnegative_warnv_p): Don't
+ return true when truth_value_p is true and the type
+ is of signed:1.
+
+2007-05-28 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/install.texi (Prerequisites): We no longer require Autoconf
+ 2.13 for the top-level.
+
+2007-05-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * target/i386/i386.c (ix86_expand_vector_move): Expand unaligned
+ memory access via x86_expand_vector_move_misalign() only for
+ TImode values on 32-bit targets.
+
+2007-05-28 Razya Ladelsky <razya@il.ibm.com>
+
+ * matrix-reorg.c: New file. Implement matrix flattening and
+ transposing optimization.
+ * tree-pass.h: Add matrix reorg pass.
+ * common.opt: Add fipa-mreorg flag.
+ * Makefile.in: Add matrix-reorg.c.
+ * passes.c: Add matrix reorg pass.
+ * varpool.c (add_new_static_var): New function.
+ * cgraph.h (add_new_static_var): Declare.
+
+2007-05-27 Eric Christopher <echristo@apple.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_prologue): Update
+ sp_offset depending on stack size. Save r12 depending
+ on registers we're saving later.
+ (rs6000_emit_epilogue): Update sp_offset depending only
+ on stack size.
+
+2007-05-27 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-vrp.c (execute_vrp): Do not check whether current_loops == NULL.
+ * tree-chrec.c (evolution_function_is_invariant_rec_p): Ditto.
+ * ifcvt.c (if_convert): Ditto.
+ * tree-ssa-threadupdate.c (thread_block): Ditto.
+ (thread_through_all_blocks): Ditto. Assert that loops were analysed.
+ * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa,
+ verify_loop_closed_ssa): Check number_of_loops instead of
+ current_loops.
+ * predict.c (tree_estimate_probability): Ditto.
+ * tree-if-conv.c (main_tree_if_conversion): Ditto.
+ * tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
+ * modulo-sched.c (sms_schedule): Ditto.
+ * tree-scalar-evolution.c (scev_const_prop): Ditto.
+ (scev_finalize): Do not do anything if scev analysis was not
+ initialized.
+ * cfgloopanal.c (mark_irreducible_loops): Do not check whether
+ current_loops == NULL.
+ (mark_loop_exit_edges): Check number_of_loops instead of current_loops.
+ * loop-init.c (loop_optimizer_init): Do not free current_loops when
+ there are no loops.
+ (loop_optimizer_finalize): Assert that loops were analyzed.
+ (rtl_move_loop_invariants, rtl_unswitch, rtl_unroll_and_peel_loops,
+ rtl_doloop): Check number_of_loops instead of current_loops.
+ * tree-ssa-loop.c (tree_loop_optimizer_init): Do not check whether
+ current_loops == NULL.
+ (tree_ssa_loop_init, tree_ssa_loop_im, tree_ssa_loop_unswitch,
+ gate_tree_vectorize tree_linear_transform, check_data_deps,
+ tree_ssa_loop_ivcanon, tree_ssa_empty_loop, tree_ssa_loop_bounds,
+ tree_complete_unroll, tree_ssa_loop_prefetch, tree_ssa_loop_ivopts):
+ Check number_of_loops instead of current_loops.
+ (tree_ssa_loop_done): Do not check whether current_loops == NULL.
+ * tree-ssa-pre.c (fini_pre): Do not take do_fre argument. Always
+ free loops if available.
+ (execute_pre): Do not pass do_fre to fini_pre.
+
+2007-05-27 Tobias Burnus <burnus@net-b.de>
+
+ PR middle-end/32083
+ * real.c (mpfr_from_real): Fix sign of -Inf.
+
2007-05-27 H.J. Lu <hongjiu.lu@intel.com>
* tree-vect-transform.c (vectorizable_conversion): Initialize