tree-vect-stmts.c (vectorizable_type_demotion): Handle basic block vectorization.
authorIra Rosen <ira.rosen@linaro.org>
Tue, 27 Sep 2011 12:26:34 +0000 (12:26 +0000)
committerIra Rosen <irar@gcc.gnu.org>
Tue, 27 Sep 2011 12:26:34 +0000 (12:26 +0000)
commit4ef69dfc4a826dfec807ac74114748595936806a
treea9affb65d722fc832803aca53919d2087436bef2
parentd22c9c31169e048e885a60847cd3da066de200ed
tree-vect-stmts.c (vectorizable_type_demotion): Handle basic block vectorization.

        * tree-vect-stmts.c (vectorizable_type_demotion): Handle basic
        block vectorization.
        (vectorizable_type_promotion): Likewise.
        (vect_analyze_stmt): Call vectorizable_type_demotion and
        vectorizable_type_promotion for basic blocks.
        (supportable_widening_operation): Don't assume loop
        vectorization.
        * tree-vect-slp.c (vect_build_slp_tree): Allow multiple types
        for basic blocks.  Update vectorization factor for basic block
        vectorization.
        (vect_analyze_slp_instance): Allow multiple types for basic
        block vectorization.  Recheck unrolling factor after
        construction of SLP instance.

From-SVN: r179267
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/bb-slp-11.c
gcc/testsuite/gcc.dg/vect/bb-slp-27.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/bb-slp-28.c [new file with mode: 0644]
gcc/tree-vect-slp.c
gcc/tree-vect-stmts.c