------- Comment #11 from irar at il dot ibm dot com  2009-12-15 10:59 -------
Looks that it has to be my patch that enables vectorization of conditions:

r149806 | irar | 2009-07-20 14:59:10 +0300 (Mon, 20 Jul 2009) | 19 lines


        * tree-vectorizer.h (vectorizable_condition): Add parameters.
        * tree-vect-loop.c (vect_is_simple_reduction): Support COND_EXPR.
        (get_initial_def_for_reduction): Likewise.
        (vectorizable_reduction): Skip the check of first operand in case
        of COND_EXPR. Add check that it is outer loop vectorization if
        nested cycle was detected. Call vectorizable_condition() for
        COND_EXPR. If reduction epilogue cannot be created do not fail for
        nested cycles (if it is not double reduction). Assert that there
        is only one type in the loop in case of COND_EXPR. Call
        vectorizable_condition() to vectorize COND_EXPR.
        * tree-vect-stmts.c (vectorizable_condition): Update comment.
        Add parameters. Allow nested cycles if called from
        vectorizable_reduction(). Use reduction vector variable if provided.
        (vect_analyze_stmt): Call vectorizable_reduction() before
        vectorizable_condition().
        (vect_transform_stmt): Update call to vectorizable_condition().

I'll try to find out what's wrong with it.

Thanks,
Ira


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41082

Reply via email to