+2008-05-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/sse.md (sse2_<plusminus_insn><mode>3): Fix a typo.
+
+2008-05-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.md (sat_plusminus): New.
+ (plusminus_insn): Likewise.
+ (plusminus_mnemonic): Likewise.
+ (addsub): Removed.
+ (comm): Add ss_plus, us_plus, ss_minus and us_minus.
+ (*<addsub><mode>3_cc_overflow): Renamed to ...
+ (*<plusminus_insn><mode>3_cc_overflow): This.
+ (*<addsub>si3_zext_cc_overflow): Renamed to ...
+ (*<plusminus_insn>si3_zext_cc_overflow): This.
+
+ * config/i386/sse.md (<addsub><mode>3): Renamed to ...
+ (<plusminus_insn><mode>3): This.
+ (*<addsub><mode>3): Renamed to ...
+ (*<plusminus_insn><mode>3): This.
+ (<sse>_vm<addsub><mode>3): Renamed to ...
+ (<sse>_vm<plusminus_insn><mode>3): This.
+ (sse3_h<addsub>v4sf3): Renamed to ...
+ (sse3_h<plusminus_insn>v4sf3): This.
+ (sse3_h<addsub>v2df3): Renamed to ...
+ (sse3_h<plusminus_insn>v2df3): This.
+ (<plusminus_insn><mode>3): New.
+ (*<plusminus_insn><mode>3): Likewise.
+ (sse2_<plusminus_insn><mode>3): Likewise.
+ (add<mode>): Removed.
+ (*add<mode>3): Likewise.
+ (sse2_ssadd<mode>3): Likewise.
+ (sse2_usadd<mode>3): Likewise.
+ (sub<mode>3): Likewise.
+ (*sub<mode>3): Likewise.
+ (sse2_sssub<mode>3): Likewise.
+ (sse2_ussub<mode>3): Likewise.
+
+2008-05-05 Benjamin Kosnik <bkoz@redhat.com>
+
+ * gthr-single.h: Add in required interface elements as per gthr.h.
+ Add stub types for __gthread_key_t, __gthread_once_t. Add defines
+ for __GTHREAD_ONCE_INIT, __GTHREAD_RECURSIVE_MUTEX_INIT.
+ Generalize UNUSED macro.
+ (__gthread_once): Add.
+ (__gthread_key_create): Add.
+ (__gthread_key_delete): Add.
+ (__gthread_getspecific): Add.
+ (__gthread_setspecific): Add.
+
+2008-05-05 Andrew Pinski <Andrew.Pinski@playstation.sony.com>
+
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): If we have
+ the same size types for the indirect reference on the rhs, then
+ create a VCE.
+
+2008-05-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md
+ (*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit): Use only
+ one insn template instead of template series.
+ (*xordi_1_rex64): Ditto.
+ (*xordi_2_rex64): Ditto.
+
+2008-05-05 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/36119
+ * tree-vect-transform.c (vectorizable_assignment): Set NCOPIES to 1
+ in case of SLP.
+
+2008-06-04 Jan Hubicka <jh@suse.cz>
+
+ tree-optimization/36100
+ * tree-pass.h (pass_O0_always_inline): Declare.
+ * ipa-inline.c (inline_transform): Remove dead code.
+ (cgraph_gate_O0_always_inline, cgraph_O0_always_inline,
+ pass_O0_always_inline): New.
+ * passes.c (init_optimization_passes): Add pass_O0_always_inline.
+
+2008-05-04 Kai Tietz <kai.tietz@onevision.com>
+
+ * config/i386/i386.c (x86_output_mi_thunk): Use movq alternative
+ mnemonic in this_param move for TARGET_64BIT.
+
+2008-05-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*strmovsi_1): Simplify asm alternatives.
+ (*strmovsi_rex_1): Ditto.
+ (*strsetsi_1): Ditto.
+ (*strsetsi_rex_1): Ditto.
+
+ (add<mode>cc): Macroize expander from addqicc, addhicc, addsicc and
+ adddicc expanders using SWI mode iterator.
+
+2008-05-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/36121
+ * config/i386/i386.c (ix86_expand_special_args_builtin): Remove three
+ argument handling.
+
+2008-05-04 David S. Miller <davem@davemloft.net>
+
+ * config.gcc (sparc*-*-*): Always set need_64bit_hwint to yes.
+ (sparc*-*-linux*): Use linux.h in tm_file.
+ (sparc-*-linux*): If 'enabled_targets' is 'all', build a bi-arch
+ compiler defaulting to 32-bit.
+ (sparc*-*-*): Remove explicit target settings of need_64bit_hwint,
+ no longer needed.
+ * config/sparc/linux.h: Remove definitions now obtained
+ properly from linux.h
+ * config/sparc/linux64.h: Likewise.
+ (ASM_CPU_DEFAULT_SPEC): Change this to ASM_CPU64_DEFAULT_SPEC, we
+ don't want this setting for 32-bit builds in a biarch compiler.
+ * doc/install.texi: Add sparc-linux to list of targets
+ supporting --enable-targets=all.
+
+2008-05-03 Andrew Pinski <pinskia@gmail.com>
+
+ * Makefile.in (tree-ssa-phiprop.o): Fix dependencies.
+
+2008-05-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_builtin_type): Move V4SI_FTYPE_V4SF
+ after V4SI_FTYPE_V8HI.
+ (ix86_init_mmx_sse_builtins): Move case V4HI_FTYPE_V4HI after
+ case V4SI_FTYPE_V2DF.
+
+2008-05-03 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * doc/invoke.texi (max-flow-memory-locations): Removed.
+ * params.def (PARAM_MAX_FLOW_MEMORY_LOCATIONS): Removed.
+
+2008-05-03 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/34973
+ * opts.c (set_Wstrict_aliasing): Handle the turn-off case.
+
+2008-05-02 David S. Miller <davem@davemloft.net>
+
+ * config.gcc (need_64bit_hwint): Document libcpp dependency.
+
+2008-05-02 Simon Baldwin <simonb@google.com>
+
+ PR bootstrap/36108
+ * c-common.h (warn_array_subscript_range): Removed.
+ * c-common.c (warn_array_subscript_range): Ditto.
+ * tree-vrp.c (check_array_ref): Revert to ignoring arrays with size 2.
+ * c-typeck.c (build_array_ref): Remove warn_array_subscript_range.
+
+2008-05-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_special_builtin_type): New.
+ (bdesc_special_args): Likewise.
+ (ix86_expand_special_args_builtin): Likewise.
+ (ix86_init_mmx_sse_builtins): Updated.
+ (ix86_expand_builtin): Updated.
+ (ix86_expand_store_builtin): Removed.
+ (ix86_expand_unop_builtin): Likewise.
+
+ * config/i386/mm3dnow.h (__v2sf): Moved to ...
+ * config/i386/mmintrin.h (__v2sf): Here.
+
+ * config/i386/xmmintrin.h (_mm_loadh_pi): Replace __v2si with
+ const __v2sf.
+ (_mm_loadl_pi): Likewise.
+ (_mm_storeh_pi): Replace __v2si with __v2sf.
+ (_mm_storel_pi): Likewise.
+
+ * doc/extend.texi: Correct __builtin_ia32_loadhps,
+ __builtin_ia32_loadlps, __builtin_ia32_storehps,
+ __builtin_ia32_storelps, __builtin_ia32_loadhpd and
+ __builtin_ia32_loadlpd.
+
+2008-05-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_builtin_type): Add FLOAT_FTYPE_FLOAT,
+ V4SF_FTYPE_V4SF_VEC_MERGE and V2DF_FTYPE_V2DF_VEC_MERGE.
+ (bdesc_args): Updated. Add scalar SSE builtins with vec_merge.
+ (ix86_init_mmx_sse_builtins): Updated.
+ (ix86_expand_args_builtin): Likewise.
+ (ix86_expand_builtin): Likewise.
+ (ix86_expand_unop1_builtin): Renamed to ...
+ (ix86_expand_unop_vec_merge_builtin): This.
+
+2008-05-01 Jan Hubicka <jh@suse.cz>
+
+ PR bootstrap/36100
+ * ipa-inline.c (inline_generate_summary): Make static.
+ (inline_transform): Do not call inlining at -O0; make static.
+ * passes.c (execute_todo): Add sanity check.
+ (execute_one_ipa_transform_pass): Execute proper flags.
+
+2008-05-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.h (TYPE_NONALIASED_COMPONENT): Expand comment.
+ (DECL_NONADDRESSABLE_P): Likewise.
+ * alias.c (record_component_aliases): Fix comment.
+
+2008-05-01 Simon Baldwin <simonb@google.com>
+
+ * c-common.h (warn_array_subscript_range): New function.
+ * c-common.c (warn_array_subscript_range): Ditto.
+ * tree-vrp.c (check_array_ref): Corrected code to agree with
+ comment, ignoring only arrays of size 0 or size 1.
+ * c-typeck.c (build_array_ref): Call warn_array_subscript_range.
+
+2008-05-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_builtin_type): Replace
+ DI_FTYPE_DI_DI_INT with V1DI2DI_FTYPE_V1DI_V1DI_INT.
+ (bdesc_args): Updated.
+ (ix86_init_mmx_sse_builtins): Likewise.
+ (ix86_expand_args_builtin): Likewise.
+
+ * config/i386/tmmintrin.h (_mm_alignr_pi8): Replace long long
+ with __v1di.
+
+ * doc/extend.texi: Correct __builtin_ia32_palignr.
+
+2008-05-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/36095
+ * config/i386/i386.c (bdesc_crc32): Removed.
+ (ix86_expand_crc32): Likewise.
+ (ix86_builtin_type): Replace V2DI2TI_FTYPE_V2DI2TI_INT with
+ V2DI2TI_FTYPE_V2DI_INT, V2DI2TI_FTYPE_V2DI2TI_V2DI2TI_INT with
+ V2DI2TI_FTYPE_V2DI_V2DI_INT. Add UINT64_FTYPE_UINT64_UINT64,
+ UINT_FTYPE_UINT_UINT, UINT_FTYPE_UINT_USHORT and
+ UINT_FTYPE_UINT_UCHAR.
+ (bdesc_args): Updated. Add crc32 builtins.
+ (ix86_init_mmx_sse_builtins): Updated.
+ (ix86_expand_args_builtin): Updated to support subreg.
+
+ * doc/extend.texi: Correct __builtin_ia32_crc32di.
+
+2008-05-01 Jan Hubicka <jh@suse.cz>
+
+ * tree-pass.h (opt_pass): Add IPA_PASS.
+ (varpool_node, cgraph_node): Forward declare.
+ (ipa_opt_pass): Define.
+ (pass_ipa_inline): Turn into ipa_opt_pass.
+ (pass_apply_inline): Remove.
+ * ipa-inline.c (pass_ipa_inline): Turn into ipa_opt_pass.
+ (apply_inline): Turn into ....
+ (inline_transform): ... this one.
+ (inline_generate_summary): New function.
+ (pass_apply_inline): Remove.
+ * function.h (ipa_opt_pass): Forward declare structure; typedef;
+ vector.
+ (struct function): Add ipa_transforms_to_apply.
+ * passes.c (register_one_dump_file): Work on IPA_PASS.
+ (init_optimization_passes): Remove pass_inline_parameters and
+ pass_apply_inline.
+ (pass_init_dump_file, pass_fini_dump_file): Break out from ....
+ (execute_one_pass) ... here; apply transforms when possible.
+ (add_ipa_transform_pass, execute_ipa_summary_asses,
+ execute_one_ipa_transform_pass): New.
+ (execute_ipa_pass_list): Update for IPA_PASS type.
+
+2008-05-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_builtin_type): Add
+ V2DI_FTYPE_V2DI_V16QI, V2DI_FTYPE_V2DI_UINT_UINT and
+ V2DI_FTYPE_V2DI_V2DI_UINT_UINT.
+ (bdesc_args): Add SSE4a builtins.
+ (ix86_init_mmx_sse_builtins): Updated.
+ (ix86_expand_args_builtin): Likewise.
+ (ix86_expand_builtin): Likewise.
+
+2008-05-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_builtin_type): Add
+ V8HI_FTYPE_V8HI_V8HI_COUNT, V8HI_FTYPE_V8HI_SI_COUNT,
+ V4SI_FTYPE_V4SI_V4SI_COUNT, V4SI_FTYPE_V4SI_SI_COUNT,
+ V4HI_FTYPE_V4HI_V4HI_COUNT, V4HI_FTYPE_V4HI_SI_COUNT,
+ V2DI_FTYPE_V2DI_V2DI_COUNT, V2DI_FTYPE_V2DI_SI_COUNT,
+ V2SI_FTYPE_V2SI_V2SI_COUNT, V2SI_FTYPE_V2SI_SI_COUNT,
+ V1DI_FTYPE_V1DI_V1DI_COUNT, V1DI_FTYPE_V1DI_SI_COUNT,
+ V8HI_FTYPE_V8HI_INT, V4SI_FTYPE_V4SI_INT, V4HI_FTYPE_V4HI_INT,
+ V2DI2TI_FTYPE_V2DI2TI_INT, V2DI2TI_FTYPE_V2DI2TI_V2DI2TI_INT
+ and DI_FTYPE_DI_DI_INT.
+ (bdesc_args): Add MMX/SSE shift, shuffle and palignr builtins.
+ (ix86_init_mmx_sse_builtins): Updated.
+ (ix86_expand_args_builtin): Likewise.
+ (ix86_expand_builtin): Likewise.
+ (ix86_expand_binop_imm_builtin): Removed.
+
+ * doc/extend.texi: Correct __builtin_ia32_palignr128.
+
+2008-04-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/32921
+ * tree-ssa-loop-im.c (mem_refs_may_alias_p): Disambiguate with TBAA.
+
+2008-04-30 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ * config/arm/arm.c (arm_unwind_emit): Use
+ crtl->all_throwers_are_sibcalls instead of
+ cfun->all_throwers_are_sibcalls.
+ (arm_output_fn_unwind): Likewise.
+ * config/frv/frv.c (frv_stack_info): Use crtl->uses_pic_offset_table
+ instead of cfun->uses_pic_offset_table.
+ (frv_expand_prologue): Likewise.
+ (frv_frame_pointer_required): Likewise.
+ (frv_expand_fdpic_call): Likewise.
+ (frv_emit_movsi): Likewise.
+ * config/iq2000/iq2000.c (iq2000_expand_prologue): Use
+ cfun->returns_pcc_struct instead of
+ current_function_returns_pcc_struct.
+ * config/m32c/m32c.c (need_to_save): Use crtl->calls_eh_return
+ instead of cfun->calls_eh_return.
+ (m32c_pushm_popm): Likewise.
+ * config/xtensa/xtensa.h (cfun->calls_alloca): Remove bogus
+ "extern" declaration.
+
2008-04-30 Richard Guenther <rguenther@suse.de>
PR tree-optimization/21636
2008-04-30 Nathan Froyd <froydnj@codesourcery.com>
- * config/rs6000/crtresgpr.asm, config/rs6000/crtresxgpr.asm,
- config/rs6000/crtsavgpr.asm, config/rs6000/crtresfpr.asm,
- config/rs6000/crtresxfpr.asm, config/rs6000/crtsavfpr.asm: Break out
- from...
- * config/rs6000/crtsavres.asm: ...here. Remove unneeded file.
- * config/rs6000/e500crtres32gpr.asm,
- config/rs6000/e500crtres64gpr.asm
- config/rs6000/e500crtres64gprctr.asm,
- config/rs6000/e500crtrest32gpr.asm
- config/rs6000/e500crtrest64gpr.asm,
- config/rs6000/e500crtresx32gpr.asm
- config/rs6000/e500crtresx64gpr.asm,
- config/rs6000/e500crtsav32gpr.asm
- config/rs6000/e500crtsav64gpr.asm,
- config/rs6000/e500crtsav64gprctr.asm
- config/rs6000/e500crtsavg32gpr.asm,
- config/rs6000/e500crtsavg64gpr.asm
- config/rs6000/e500crtsavg64gprctr.asm: New files.
- * config/rs6000/t-ppccomm: Add build rules for new files.
- (LIB2FUNCS_STATIC_EXTRA): Add new files.
- * config/rs6000/t-netbsd: Add build rules for new files.
- (LIB2FUNCS_STATIC_EXTRA): New variable.
- * config/rs6000/sysv4.h (ENDFILE_SPEC): Don't include crtsavres.o
- (CRTSAVRES_DEFAULT_SPEC): Likewise.
- * config/rs6000/netbsd.h (ENDFILE_SPEC): Likewise.
+ * config/rs6000/crtresgpr.asm, config/rs6000/crtresxgpr.asm,
+ config/rs6000/crtsavgpr.asm, config/rs6000/crtresfpr.asm,
+ config/rs6000/crtresxfpr.asm, config/rs6000/crtsavfpr.asm: Break out
+ from...
+ * config/rs6000/crtsavres.asm: ...here. Remove unneeded file.
+ * config/rs6000/e500crtres32gpr.asm, config/rs6000/e500crtres64gpr.asm,
+ config/rs6000/e500crtres64gprctr.asm,
+ config/rs6000/e500crtrest32gpr.asm, config/rs6000/e500crtrest64gpr.asm,
+ config/rs6000/e500crtresx32gpr.asm, config/rs6000/e500crtresx64gpr.asm,
+ config/rs6000/e500crtsav32gpr.asm, config/rs6000/e500crtsav64gpr.asm,
+ config/rs6000/e500crtsav64gprctr.asm,
+ config/rs6000/e500crtsavg32gpr.asm, config/rs6000/e500crtsavg64gpr.asm,
+ config/rs6000/e500crtsavg64gprctr.asm: New files.
+ * config/rs6000/t-ppccomm: Add build rules for new files.
+ (LIB2FUNCS_STATIC_EXTRA): Add new files.
+ * config/rs6000/t-netbsd: Add build rules for new files.
+ (LIB2FUNCS_STATIC_EXTRA): New variable.
+ * config/rs6000/sysv4.h (ENDFILE_SPEC): Don't include crtsavres.o
+ (CRTSAVRES_DEFAULT_SPEC): Likewise.
+ * config/rs6000/netbsd.h (ENDFILE_SPEC): Likewise.
2008-04-30 H.J. Lu <hongjiu.lu@intel.com>
(ix86_expand_args_builtin): Updated. Take a pointer
to const struct builtin_description. Handle comparison
builtin functions.
- (ix86_expand_sse_compare): Take a new argument for swapping
- operands.
+ (ix86_expand_sse_compare): Take a new argument for swapping operands.
(ix86_expand_builtin): Updated.
* config/i386/sse.md (ssse3_pmaddubswv8hi3): Renamed to ...
(ssse3_pmaddubswv4hi3): Renamed to ...
(ssse3_pmaddubsw): This.
- * doc/extend.texi (__builtin_ia32_packsswb128): Correct
- prototype.
+ * doc/extend.texi (__builtin_ia32_packsswb128): Correct prototype.
(__builtin_ia32_packssdw128): Likewise.
- )__builtin_ia32_packuswb128): Likewise.
+ (__builtin_ia32_packuswb128): Likewise.
(__builtin_ia32_pmaddubsw): Likewise.
(__builtin_ia32_pmaddubsw128): Likewise.
2008-04-25 H.J. Lu <hongjiu.lu@intel.com>
- * config/i386/sse.md (mov<mode>): Replace SSEMODEI with
- SSEMODE.
+ * config/i386/sse.md (mov<mode>): Replace SSEMODEI with SSEMODE.
(*mov<mode>_internal): Likewise. Support V4SF and V2DF.
(mov<mode>): Removed.
(*movv4sf_internal): Likewise.