1. 10 Sep, 2007 17 commits
    • adaint.c (__gnat_translate_vms): new function. · 094f0544
      2007-09-10  Vasiliy Fofanov  <fofanov@adacore.com>
      
      	* adaint.c (__gnat_translate_vms): new function.
      
      From-SVN: r128334
      Vasiliy Fofanov committed
    • s-regpat.adb (Parse_Character_Class): Fix handling of empty character classes ("[]"). · 36df551d
      2007-09-10  Emmanuel Briot  <briot@adacore.com>
      
      	* s-regpat.adb (Parse_Character_Class): Fix handling of empty character
      	classes ("[]").
      
      From-SVN: r128333
      Emmanuel Briot committed
    • exp_atag.ads, [...]: Replace headers with GPL v3 headers. · b5c84c3c
      2007-09-10  Robert Dewar  <dewar@adacore.com>
      
      	* exp_atag.ads, exp_atag.adb, mlib-tgt-tru64.adb, mlib-tgt-aix.adb,
      	mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
      	mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
      	mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads,
      	ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads,
      	bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads,
      	bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb,
      	butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb,
      	comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads,
      	elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads,
      	err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb,
      	exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads,
      	exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb,
      	exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb,
      	exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
      	exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb,
      	exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads,
      	exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
      	exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb,
      	exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb,
      	exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
      	exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb,
      	fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads,
      	get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb,
      	gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb,
      	gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
      	gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads,
      	gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads,
      	gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb,
      	gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads,
      	inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads,
      	lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb,
      	lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads,
      	make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads,
      	mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
      	mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads,
      	mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
      	mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt,
      	osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb,
      	osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads,
      	par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb,
      	par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
      	par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
      	par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb,
      	par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
      	prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads,
      	prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb,
      	prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
      	prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
      	prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
      	prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
      	prj-util.adb, prj-util.ads, restrict.adb, restrict.ads,
      	rtsfind.adb, rtsfind.ads, scn.adb, scn.ads,
      	scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb,
      	sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
      	sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb,
      	sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads,
      	sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
      	sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
      	sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads,
      	sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb,
      	sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
      	sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb,
      	sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads,
      	sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb,
      	sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb,
      	sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads,
      	sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads,
      	stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb,
      	styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads,
      	switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
      	switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb,
      	tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads,
      	treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads,
      	types.h, uintp.h, urealp.h, usage.adb, usage.ads,
      	validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb,
      	xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb,
      	xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb,
      	gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb,
      	mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb,
      	symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb,
      	mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb,
      	mlib-tgt-vms.ads: Replace headers with GPL v3 headers.
      
      From-SVN: r128332
      Robert Dewar committed
    • re PR fortran/31547 (Document when CPP is called and document the f95-cpp-input option) · 2b44ab8b
      2007-09-10  Tobias Burnus  <burnus@net-b.de>
      
      	PR fortran/31547
      	* gfortran.texi: Document when CPP is called.
      
      	* intrinsic.texi (IOR): Fix typos.
      
      From-SVN: r128331
      Tobias Burnus committed
    • Update copyright notice. · 43263710
      From-SVN: r128330
      Arnaud Charlet committed
    • a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber x87 registers. · a56955b1
      	* a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber
      	x87 registers.
      
      From-SVN: r128329
      Eric Botcazou committed
    • re PR target/33369 (suffix or operands invalid for `pslld') · f8568ac0
      	PR target/33369
      	* gcc/config/i386/sse.md (ashr<mode>3): Change op2 mode to SImode.
      	Use 'N' operand constraint for op2.
      	(lshr<mode>3): Ditto.
      	(ashl<mode>3): Ditto.
      	(vec_shl_<mode>): Use const_0_to_255_mul_8_operand predicate for op2.
      	(vec_shr_<mode>): Use const_0_to_255_mul_8_operand predicate for op2.
      
      	* gcc/config/i386/i386.c (ix86_expand_builtin) [IX86_BUILTIN_PSLL?128,
      	IX86_BUILTIN_PSRA*?128, IX86_BUILTIN_PSRL?128]: Convert op1 to SImode.
      
      testsuite/ChangeLog:
      	
      	PR target/33369
      	* gcc.dg/vect/pr33369.c: New test.
      
      From-SVN: r128328
      Uros Bizjak committed
    • decl.c (gnat_to_gnu_entity): Deal with variable built for a debug renaming declaration specially. · c03550f6
      	* decl.c (gnat_to_gnu_entity) <object>: Deal with variable built for
      	a debug renaming declaration specially.
      
      From-SVN: r128327
      Eric Botcazou committed
    • s390.md ("fixuns_trunc<BFP:mode><GPR:mode>2"): Change mode macro in the last… · 9e8c0677
      s390.md ("fixuns_trunc<BFP:mode><GPR:mode>2"): Change mode macro in the last real_2expN parameter to uppercase.
      
      2007-09-10  Andreas Krebbel  <krebbel1@de.ibm.com>
      
      	* config/s390/s390.md ("fixuns_trunc<BFP:mode><GPR:mode>2"):
      	Change mode macro in the last real_2expN parameter to uppercase.
      
      From-SVN: r128326
      Andreas Krebbel committed
    • re PR fortran/33370 (Structure component arrays) · 18eaa2c0
      2007-09-10  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/33370
      	* trans-expr.c (copyable_array_p):  Add tests that expression
      	is a variable, that it has no subreferences and that it is a
      	full array.
      	(gfc_trans_assignment): Change conditions to suit modifications
      	to copyable_array_p.
      
      2007-09-10  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/33370
      	* gfortran.dg/array_memcpy_5.f90:  New test.
      
      From-SVN: r128325
      Paul Thomas committed
    • tree-pass.h (pass_cselim): Declare new pass. · a5828d1e
              * tree-pass.h (pass_cselim): Declare new pass.
              * passes.c (init_optimization_passes): Link in pass_cselim.
              * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Renamed from
              tree_ssa_phiopt; add do_store_elim parameter, handle it by calling
              cond_store_replacement.
              (condstoretemp): New static variable.
              (cond_store_replacement): New function.
              (tree_ssa_phiopt, tree_ssa_cs_elim): New wrappers around
              tree_ssa_phiopt_worker.
              (struct name_to_bb): New.
              (get_non_trapping, name_to_bb_hash, name_to_bb_eq, add_or_mark_expr,
              nt_init_block, nt_fini_block): New static functions.
              (seen_ssa_names, nontrap_set): New static variables.
              (gate_cselim, pass_cselim): Define new pass.
              * common.opt (ftree-cselim): New flag.
              * toplev.c (process_options): Set flag_tree_cselim if required.
      
      From-SVN: r128324
      Michael Matz committed
    • simplify-rtx.c (simplify_relational_operation_1): For recent canonicalization,… · cf369845
      simplify-rtx.c (simplify_relational_operation_1): For recent canonicalization, don't recurse if op1 equals both PLUS arguments.
      
      	* simplify-rtx.c (simplify_relational_operation_1): For recent
      	canonicalization, don't recurse if op1 equals both PLUS arguments.
      
      From-SVN: r128323
      Hans-Peter Nilsson committed
    • optabs.c (expand_sync_operation): Use plus insn if minus CONST_INT_P(val). · 3b010fe3
      	* optabs.c (expand_sync_operation):  Use plus insn if minus
      	CONST_INT_P(val).
      	(expand_sync_fetch_operation):  Ditto.
      
      From-SVN: r128322
      David Daney committed
    • * config/mingw32/proc.c: New file. · 1d0bd356
      From-SVN: r128321
      Danny Smith committed
    • i386.md (*floatsisf2_mixed_vector): Use cvtdq2ps instead of cvtpq2ps. · f901f85a
      2007-09-09  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* i386.md (*floatsisf2_mixed_vector): Use cvtdq2ps instead
      	of cvtpq2ps.
      	(*floatsisf2_sse_vector): Likewise.
      
      From-SVN: r128320
      H.J. Lu committed
    • Daily bump. · fe7b3cca
      From-SVN: r128317
      GCC Administrator committed
  2. 09 Sep, 2007 23 commits
    • i386.h (ix86_tune_indices): Rename X86_USE_VECTOR_CONVERTS to X86_TUNE_USE_VECTOR_CONVERTS. · 4e9d897d
      2007-09-09  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/i386.h (ix86_tune_indices): Rename
      	X86_USE_VECTOR_CONVERTS to X86_TUNE_USE_VECTOR_CONVERTS.
      	(TARGET_USE_VECTOR_CONVERTS): Updated.
      	* config/i386/i386.c: Likewise.
      
      From-SVN: r128313
      H.J. Lu committed
    • re PR c++/33324 (ICE on new array of objects with virtual destructors.) · b2ec1738
      	PR c++/33324
      	* init.c (build_new_1):  Use POINTER_PLUS_EXPR instead of MINUS_EXPR
      	to calculate cookie_ptr.
      
      From-SVN: r128312
      David Daney committed
    • put entry for last commit in correct ChangeLog · dd735081
      From-SVN: r128309
      Sandra Loosemore committed
    • invoke.texi (Overall Options): Add .sx file extension as a synonym for .S. · 55b8093e
      2007-09-09  Sandra Loosemore  <sandra@codesourcery.com>
                  Nigel Stephens <nigel@mips.com>
      
      	gcc/
      	* doc/invoke.texi (Overall Options):  Add .sx file extension
      	as a synonym for .S.
      	* cppspec.c (known_suffixes): Likewise.
      	* gcc.c (default_compilers): Likewise.
      
      Co-Authored-By: Nigel Stephens <nigel@mips.com>
      
      From-SVN: r128308
      Sandra Loosemore committed
    • acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add ECANCELED for cygwin. · 3110357b
      
      	* acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add ECANCELED for cygwin.
      	* configure: Regenerate.
      	* config/os/generic/error_constants.h: Guard.
      	* testsuite/19_diagnostics/headers/system_error/
      	types_std_c++0x.cc: Same.
      
      From-SVN: r128307
      Roger Sayle committed
    • re PR target/30315 (optimize unsigned-add overflow test on x86 to use cpu flags from addl) · 921c4418
      	PR target/30315
      	* config/i386/i386.h (CANONICALIZE_COMPARISON): Delete.
      	* simplify-rtx.c (simplify_relational_operation_1): Add the
      	canonicalization from i386.h.
      	* doc/md.texi (Canonicalization of Instructions): Document it.
      
      From-SVN: r128305
      Rask Ingemann Lambertsen committed
    • binary_search.cc: Move... · 0098d806
      2007-09-09  Benjamin Kosnik  <bkoz@redhat.com>
      	
      	* testsuite/25_algorithms/binary_search.cc: Move...
      	* testsuite/25_algorithms/binary_search/2.cc: ...here.
      
      	* testsuite/25_algorithms/sort.cc: Move...	
      	* testsuite/25_algorithms/sort/1.cc: ...here.
      	* testsuite/25_algorithms/partial_sort_copy/2.cc: ...here.
      	* testsuite/25_algorithms/nth_element/3.cc: ...here.
      	* testsuite/25_algorithms/partial_sort/2.cc: ...here.
      	* testsuite/25_algorithms/stable_sort/2.cc: ...here.
      
      	* testsuite/25_algorithms/min_max.cc: Move...
      	* testsuite/25_algorithms/min/1.cc: ...here.
      	* testsuite/25_algorithms/min/2.cc: ...here.
      	* testsuite/25_algorithms/max/1.cc: ...here.
      	* testsuite/25_algorithms/max/2.cc: ...here.
      
      From-SVN: r128303
      Benjamin Kosnik committed
    • re PR libgcj/33326 (libjava - testsuite fails on intel Macintosh) · 278b0f63
      2007-09-09  Andreas Tobler  <a.tobler@schweiz.org>
      
      	PR libgcj/33326
      	* testsuite/lib/libjava.exp (libjava_arguments): Append the test spec
      	only for linux targets.
      
      From-SVN: r128302
      Andreas Tobler committed
    • i386.h (ix86_tune_indices): Add X86_USE_VECTOR_CONVERTS. · 4845dbb5
      	* i386.h (ix86_tune_indices): Add X86_USE_VECTOR_CONVERTS.
      	(TARGET_USE_VECTOR_CONVERTS): New.
      	* i386.md: New post-reload splitters for converting SF to DF and DF to
      	SF.
      	(floatsi* expander): Special case vector conversions.
      	(floatsisf2_mixed_vector, floatsisf2_sse_vector_nointernunit,
      	floatsisf2_sse_vector_internunit, floatsisf2_sse_vector,
      	floatsidf2_mixed_vector, floatsidf2_sse_vector): New.
      	(floatsisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse):
      	Disable when doing vector converts.
      	(floatsi<mode>2_i387): Disable when
      	* sse.md (vec_dupv2df): Export.
      	* i386.c (ix86_tune_features): Enable SSE conversions.
      
      Co-Authored-By: Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
      
      From-SVN: r128301
      Jan Hubicka committed
    • tree-ssa-operands.c (add_virtual_operand): Only mark stores as has_volatile_ops… · e9f91f62
      tree-ssa-operands.c (add_virtual_operand): Only mark stores as has_volatile_ops if alias information is not available.
      
      2007-09-09  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-operands.c (add_virtual_operand): Only mark
      	stores as has_volatile_ops if alias information is not available.
      
      	* gcc.c-torture/compile/20070906-1.c: New testcase.
      
      From-SVN: r128300
      Richard Guenther committed
    • Add myself to doc/contrib.texi · 20dc9cf4
      From-SVN: r128299
      Revital Eres committed
    • interpret-run.cc (invokevirtual_resolved): Nullcheck object on TOS. · f144591b
              * interpret-run.cc (invokevirtual_resolved): Nullcheck object on
              TOS.
      
      From-SVN: r128298
      Andrew Haley committed
    • costmodel-vect-outer-fir.c: Add noinline attribute. · 61ce048a
      	* gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Add
      	noinline attribute.
      	* gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr29925.c,
      	gcc.dg/vect/costmodel/spu/costmodel-fast-math-vect-pr29925.c,
      	gcc.dg/vect/costmodel/x86_64/costmodel-fast-math-vect-pr29925.c:
      	Likewise.
      
      From-SVN: r128297
      Ira Rosen committed
    • uc1.ads: Compile with -gnatws. · 8caa2436
      	* gnat.dg/specs/uc1.ads: Compile with -gnatws.
      
      From-SVN: r128296
      Eric Botcazou committed
    • addr2_p.ads: Bump size of array to 9. · 7a8faae8
              * gnat.dg/addr2_p.ads: Bump size of array to 9.
      
      From-SVN: r128295
      Eric Botcazou committed
    • tree-vectorizer.h (stmt_vinfo_set_inside_of_loop_cost, [...]): New functions. · 89675e73
      	* tree-vectorizer.h (stmt_vinfo_set_inside_of_loop_cost,
      	stmt_vinfo_set_outside_of_loop_cost): New functions.
      	* tree-vect-transform.c (vect_get_cost_fields): Remove.
      	(vect_model_simple_cost): Call
      	stmt_vinfo_set_inside/outside_of_loop_cost to set the relevant cost
      	field instead of calling vect_get_cost_fields.
      	(vect_model_store_cost, vect_model_load_cost): Likewise.
      
      From-SVN: r128294
      Ira Rosen committed
    • Fix two warnings in rs6000.c cause by bdesc_paired_preds · 23a651fc
      From-SVN: r128293
      Revital Eres committed
    • Use new debug counter · 97511ad7
      From-SVN: r128292
      Revital Eres committed
    • * ChangeLog: Fix cut'n'pasto. · 3968877d
      From-SVN: r128291
      Uros Bizjak committed
    • i386.md (X87MODEF12, SSEMODEF): Remove mode iterators. · 00188daa
      2007-09-09  Uros Bizjak  <ubizjak@gmail.com>
      
              * config/i386/i386.md (X87MODEF12, SSEMODEF): Remove mode iterators.
              Substitute all uses with ...
              (MODEF): New mode iterator.
      
              (*cmpfp_<mode>_cc): Remove operand constraints from pre-regalloc
              define_insn_and_split splitter pattern.
              (fix_trunc<mode>_fisttp_i387_1): Ditto.
              (*fix_trunc<mode>_i387_1): Ditto.
              (*fistdi2_1): Ditto.
              (*fist<mode>2_1): Ditto.
              (frndintxf2_floor): Ditto.
              (*fist<mode>2_floor_1): Ditto.
              (frndintxf2_ceil): Ditto.
              (*fist<mode>2_ceil_1): Ditto.
              (frndintxf2_trunc): Ditto.
              (frndintxf2_mask_pm): Ditto.
      
              (prologue): Use (const_int 0) as never generated filler insn.
              (epilogue): Ditto.
              (sibcall_epilogue): Ditto.
              (eh_return_si): Ditto.
              (eh_return_di): Ditto.
      
              (add<mode>3): Rename from adddf3 and addsf3.  Macroize expander
              using MODEF mode iterator.
              (sub<mode>3): Rename from subdf3 and subsf3.  Macroize expander
              using MODEF mode iterator.
              (mul<mode>3): Rename from muldf3 and mulsf3.  Macroize expander
              using MODEF mode iterator.
              (nearbyint<mode>2): Rename from nearbyintdf2 and nearbyintsf2.
              Macroize expander using MODEF mode iterator.
      
              (zero_extendsidi2): Remove operand constraints from expander.
              (smuldi3_highpart): Ditto.
              (indirect_jump): Ditto.
              (tablejump): Ditto.
              (rsqrtsf2): Ditto.
              * config/i386/sse.md (storentv4sf): Ditto.
              (storentv2df): Ditto.
              (storentv2di): Ditto.
              (storentsi): Ditto.
              (sse2_cvtpd2ps): Ditto.
              (vec_interleave_highv16qi): Ditto.
              (vec_interleave_lowv16qi): Ditto.
              (vec_interleave_highv8hi): Ditto.
              (vec_interleave_lowv8hi): Ditto.
              (vec_interleave_highv4si): Ditto.
              (vec_interleave_lowv4si): Ditto.
              (vec_interleave_highv2di): Ditto.
              (vec_interleave_lowv2di): Ditto.
              (sse2_maskmovdqu): Ditto.
              * config/i386/mmx.md (mmx_maskmovq): Ditto.
      
      From-SVN: r128290
      Uros Bizjak committed
    • tree-vectorizer.h (enum vect_def_type): Start enumeration from 1. · 805e2059
      	* tree-vectorizer.h (enum vect_def_type): Start enumeration from 1.
      	(struct _slp_tree, struct _slp_instance): Define new data structures
      	along macros for their access.
      	(struct _loop_vec_info): Define new fields: strided_stores,
      	slp_instances, and slp_unrolling_factor along macros for their access.
      	(enum slp_vect_type): New.
      	(struct _stmt_vec_info): Define new field, slp_type, and macros for its
      	access.
      	(STMT_VINFO_STRIDED_ACCESS): New macro.
      	(vect_free_slp_tree): Declare.
      	(vectorizable_load): Add an argument of type slp_tree.
      	(vectorizable_store, vectorizable_operation, vectorizable_conversion,
      	vectorizable_assignment): Likewise.
      	(vect_model_simple_cost, vect_model_store_cost, vect_model_load_cost):
      	Declare (make extern).
      	* tree-vectorizer.c (new_stmt_vec_info): Initiliaze the new field.
      	(new_loop_vec_info): Likewise.
      	(destroy_loop_vec_info): Free memory allocated for SLP structures.
      	* tree-vect-analyze.c: Include recog.h.
      	(vect_update_slp_costs_according_to_vf): New.
      	(vect_analyze_operations): Add argument for calls to vectorizable_ ()
      	functions. For not pure SLP stmts with strided access check that the
      	group size is power of 2. Update the vectorization factor according to
      	SLP. Call vect_update_slp_costs_according_to_vf.
      	(vect_analyze_group_access): New.
      	(vect_analyze_data_ref_access): Call vect_analyze_group_access.
      	(vect_free_slp_tree): New functions.
      	(vect_get_and_check_slp_defs, vect_build_slp_tree, vect_print_slp_tree,
      	vect_mark_slp_stmts, vect_analyze_slp_instance, vect_analyze_slp,
      	vect_make_slp_decision, vect_detect_hybrid_slp_stmts,
      	vect_detect_hybrid_slp): Likewise.
      	(vect_analyze_loop): Call vect_analyze_slp, vect_make_slp_decision
      	and vect_detect_hybrid_slp.
      	* tree-vect-transform.c (vect_estimate_min_profitable_iters): Take
      	SLP costs into account.
      	(vect_get_cost_fields): New function.
      	(vect_model_simple_cost): Make extern, add SLP parameter and handle
      	SLP.
      	(vect_model_store_cost, vect_model_load_cost): Likewise.
      	(vect_get_constant_vectors): New function.
      	(vect_get_slp_vect_defs, vect_get_slp_defs,
      	vect_get_vec_defs_for_stmt_copy, vect_get_vec_defs_for_stmt_copy,
      	vect_get_vec_defs): Likewise.
      	(vectorizable_reduction): Don't handle SLP for now.
      	(vectorizable_call): Don't handle SLP for now. Add argument to
      	vect_model_simple_cost.
      	(vectorizable_conversion): Handle SLP (call vect_get_vec_defs to
      	get SLPed and vectorized defs). Fix indentation and spacing.
      	(vectorizable_assignment): Handle SLP.
      	(vectorizable_induction): Don't handle SLP for now.
      	(vectorizable_operation): Likewise.
      	(vectorizable_type_demotion): Add argument to
      	vect_model_simple_cost.
      	(vectorizable_type_promotion): Likewise.
      	(vectorizable_store, vectorizable_load): Handle SLP.
      	(vectorizable_condition): Don't handle SLP for now.
      	(vect_transform_stmt): Add a new argument for SLP. Check that there is
      	no SLP transformation required for unsupported cases. Add SLP
      	argument for supported cases.
      	(vect_remove_stores): New function.
      	(vect_schedule_slp_instance, vect_schedule_slp): Likewise.
      	(vect_transform_loop): Schedule SLP instances.
      	* Makefile.in: (tree-vect-analyze.o): Depend on recog.h.
      
      From-SVN: r128289
      Ira Rosen committed
    • optabs.c (sign_expand_binop): Set libcall_gen = NULL in the fake signed optab. · ae2bd7d2
              * optabs.c (sign_expand_binop): Set libcall_gen = NULL in the fake
              signed optab.
      
      From-SVN: r128288
      Andrew Haley committed