OSDN Git Service

Use VEC_PERM_EXPR in the vectorizer.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 15 Oct 2011 19:36:50 +0000 (19:36 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 15 Oct 2011 19:36:50 +0000 (19:36 +0000)
commit964ec9cd8bd2896d0fd242db33bc7eeba8e4e62f
tree648ae2160b09141f65b345023049f5969eb8fc42
parent7359fe3f0fb6418c2a03a44908a4baa466c027f6
Use VEC_PERM_EXPR in the vectorizer.

        * tree-vect-slp.c: Include langhooks.h.
        (vect_create_mask_and_perm): Emit VEC_PERM_EXPR, not a builtin.
        (vect_transform_slp_perm_load): Use can_vec_perm_expr_p.  Simplify
        mask creation for VEC_PERM_EXPR.
        * tree-vect-stmts.c (perm_mask_for_reverse): Return the mask,
        not the builtin.
        (reverse_vec_elements): Emit VEC_PERM_EXPR not a builtin.
        * Makefile.in (tree-vect-slp.o): Update dependency.
        * optabs.c (can_vec_perm_expr_p): Allow NULL as unknown constant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180047 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/Makefile.in
gcc/optabs.c
gcc/tree-vect-slp.c
gcc/tree-vect-stmts.c