This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc/gcc ChangeLog.autovect expr.c genopinit.c ...
- From: dorit at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 19 Oct 2005 19:14:38 -0000
- Subject: gcc/gcc ChangeLog.autovect expr.c genopinit.c ...
CVSROOT: /cvs/gcc
Module name: gcc
Branch: autovect-branch
Changes by: dorit@gcc.gnu.org 2005-10-19 19:14:38
Modified files:
gcc : ChangeLog.autovect expr.c genopinit.c optabs.c
optabs.h tree-vect-analyze.c
tree-vect-generic.c tree-vect-transform.c
tree-vectorizer.c tree-vectorizer.h
gcc/config/rs6000: altivec.md
gcc/testsuite : ChangeLog.autovect
gcc/testsuite/gcc.dg/vect: vect-cast-1.c vect-reduc-pattern-1.c
Added files:
gcc/testsuite/gcc.dg/vect: vect-cast-2.c
Log message:
* expr.c (expand_expr_real_1): Add implementation for cases
VEC_PACK_MOD_EXPR and VEC_PACK_SAT_EXPR;
* genopinit.c (vec_pack_sat): Removed. Replaced with...
(vec_spack_sat, vec_upack_sat): New optabs.
(vec_unpack_hi_optab, vec_unpack_lo_optab): Removed. Replaced with:
(vec_unpacks_hi_optab, vec_unpacks_lo_optab, vec_unpacku_hi_optab):
(vec_unpacku_lo_optab): New optabs.
* optabs.c (optab_for_tree_code): Fix uses of removed optabs.
(expand_binop): Support expand for vec_*pack_*_optab.
(init_optabs): Fix uses of removed optabs.
* optabs.h (optabs_index, optab_table): Fix uses of removed optabs.
* tree-vect-analyze.c (widened_name_p): Takes additional argument.
Extended to support defs out-side the loop. Move check for
STMT_VINFO_IN_PATTERN_P from callers into the function.
(vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern):
(vect_recog_widen_sum_pattern): Update calls to widened_name_p.
(vect_pattern_recog_1): Check if stmt is in the loop before attempting
to access it's stmt_vec_info.
* tree-vect-generic.c (expand_vector_operations_1):
Check for VEC_PACK_*_EXPR.
* tree-vect-transform.c (vectorizable_type_demotion): New function.
(vectorizable_type_promotion): Minor cleanup.
(vect_transform_stmt): Add call to vectorizable_type_demotion.
* tree-vectorizer.c (supportable_widening_operation): Fix 80 column
overflow.
* tree-vectorizer.h (vectorizable_type_demotion): New function
declaration.
* config/rs6000/altivec.md (vec_unpack_hi_v16qi, vec_unpack_hi_v8hi):
(vec_unpack_lo_v16qi, vec_unpack_lo_v8hi): Removed. Replaced with:
(vec_unpacks_hi_v16qi, vec_unpacks_hi_v8hi, vec_unpacks_lo_v16qi):
(vec_unpacks_lo_v8hi): New patterns.
(vec_pack_mod_v8hi, altivec_pack_mod_v4si): New patterns.
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.90&r2=1.1.2.91
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/expr.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.738.2.11&r2=1.738.2.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/genopinit.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.82.14.11&r2=1.82.14.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/optabs.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.247.2.13&r2=1.247.2.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/optabs.h.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.40.2.12&r2=1.40.2.13
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.24&r2=2.4.4.25
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.3&r2=2.5.4.4
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.24&r2=2.1.4.25
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.30&r2=2.25.2.31
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.25&r2=2.7.2.26
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.14&r2=1.24.8.15
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.48&r2=1.1.2.49
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/vect/vect-cast-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-cast-1.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.1.2.1&r2=1.1.2.2
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.7&r2=1.1.2.8