r180055 - in /trunk/gcc: ChangeLog testsuite/Ch...

irar@gcc.gnu.org irar@gcc.gnu.org
Sun Oct 16 10:47:00 GMT 2011


Author: irar
Date: Sun Oct 16 10:47:12 2011
New Revision: 180055

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180055
Log:

        * tree-vect-stmts.c (vectorizable_load): For SLP without
        permutation treat the first load of the node as the first
        element in its interleaving chain.
        * tree-vect-slp.c (vect_get_and_check_slp_defs): Swap the
        operands if necessary and possible.
        (vect_build_slp_tree): Add new argument.  Allow load groups of
        any size in basic blocks.  Keep all the loads for further
        permutation check.  Use the new argument to determine if there
        is a permutation.  Update the recursive calls.
        (vect_supported_load_permutation_p): Allow subchains of
        interleaving chains in basic block vectorization.
        (vect_analyze_slp_instance): Update the call to
        vect_build_slp_tree.  Check load permutation based on the new
        parameter.
        (vect_schedule_slp_instance): Don't start from the first element
        in interleaving chain unless the loads are permuted.


Added:
    trunk/gcc/testsuite/gcc.dg/vect/bb-slp-29.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-vect-slp.c
    trunk/gcc/tree-vect-stmts.c



More information about the Gcc-cvs mailing list