gcc/gcc ChangeLog.autovect expr.c genopinit.c ...

dorit@gcc.gnu.org dorit@gcc.gnu.org
Wed Sep 21 16:39:00 GMT 2005


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	autovect-branch
Changes by:	dorit@gcc.gnu.org	2005-09-21 16:39:26

Modified files:
	gcc            : ChangeLog.autovect expr.c genopinit.c optabs.c 
	                 optabs.h tree-inline.c tree-pretty-print.c 
	                 tree-vect-analyze.c tree-vect-generic.c 
	                 tree-vect-transform.c tree-vectorizer.c 
	                 tree-vectorizer.h tree.def 
	gcc/config/rs6000: altivec.md rs6000.c rs6000.h 
	gcc/testsuite  : ChangeLog.autovect 
	gcc/testsuite/gcc.dg/vect: vect-reduc-pattern-1.c 
Added files:
	gcc/testsuite/gcc.dg/vect: vect-reduc-pattern-2.c 

Log message:
	* expr.c (expand_expr_real_1): Add case WIDEN_SUM_EXPR.
	* genopinit.c (ssum_widen_optab): Init new optab.
	(usum_widen_optab): Likewise.
	* optabs.c (optab_for_tree_code): Add case WIDEN_SUM_EXPR.
	(expand_widen_pattern_expr): New function.
	(init_optabs): Initialize new optabs ssum_widen_optab and
	usum_widen_optab.
	* optabs.h (OTI_ssum_widen, OTI_usum_widen): New optabs.
	(ssum_widen_optab,  usum_widen_optab): New optabs.
	(expand_widen_pattern_expr): New function declaration.
	* tree-pretty-print.c (dump_generic_node): Add case WIDEN_SUM_EXPR.
	(op_prio): Add case WIDEN_SUM_EXPR.
	(op_symbol): Add case WIDEN_SUM_EXPR.
	* tree.def (WIDEN_SUM_EXPR): New tree-code.
	
	* tree-vect-analyze.c (recog.h): Add include.
	(vect_pattern_recog_funcs): Add function to initialization.
	(vect_recog_widen_sum_pattern): New function.
	(vect_pattern_recog_1): Update documentation.
	* tree-vect-transform.c (vect_init_vector): Take vectype from the
	reduction variable instead of STMT_VINFO_VECTYPE.
	(get_initial_def_for_reduction): Likewise. Also add case WIDEN_SUM_EXPR.
	(vect_create_epilog_for_reduction): Take vectype from the
	reduction variable instead of STMT_VINFO_VECTYPE. Take code,
	scalar_dest and scalar_type from orig_stmt if available. Add assert.
	(vectorizable_reduction): Handle reduction patterns.
	* tree-vectorizer.h (NUM_PATTERNS): Set to 2.
	(vect_recog_widen_sum_pattern): New function declaration.
	* tree-vect-generic (expand_vector_operations_1): Handle WIDEN_SUM_EXPR.
	
	* config/rs6000/altivec.md (widen_usum<mode>3): New pattern.
	(widen_ssumv16qi3, widen_ssumv8hi3): New patterns.
	* config/rs6000/rs6000.c (altivec_builtin_widening_summation): Removed.
	(target_vect_pattern_recog_funcs): Remove initialization.
	(target_vect_recog_widening_summation_pattern): Function removed.
	(rs6000_expand_builtin): Removed handling of case
	ALTIVEC_BUILTIN_WIDENING_SUMMATION.
	(altivec_init_builtins): Remove initialization of builtin
	ALTIVEC_BUILTIN_WIDENING_SUMMATION.
	* config/rs6000/rs6000.h (TARGET_VECT_NUM_PATTERNS): Set to 0.
	
	* tree-pretty-print.c (op_symbol): Remove case REDUC_PLUS_EXPR.
	* tree-vect-analyze.c (vect_recog_unsigned_subsat_pattern): Move
	debug printout.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.autovect.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.1.2.83&r2=1.1.2.84
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/expr.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.738.2.8&r2=1.738.2.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/genopinit.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.82.14.8&r2=1.82.14.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/optabs.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.247.2.10&r2=1.247.2.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/optabs.h.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.40.2.9&r2=1.40.2.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-inline.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.150.2.7&r2=1.150.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-pretty-print.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=2.47.4.7&r2=2.47.4.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vect-analyze.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=2.4.4.20&r2=2.4.4.21
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vect-generic.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=2.5.4.1&r2=2.5.4.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vect-transform.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=2.1.4.18&r2=2.1.4.19
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vectorizer.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=2.25.2.28&r2=2.25.2.29
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vectorizer.h.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=2.7.2.22&r2=2.7.2.23
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.def.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.103.14.12&r2=1.103.14.13
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/altivec.md.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.24.8.10&r2=1.24.8.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.739.2.8&r2=1.739.2.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.h.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.345.4.5&r2=1.345.4.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.autovect.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.1.2.41&r2=1.1.2.42
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.1.2.4&r2=1.1.2.5



More information about the Gcc-cvs mailing list