diff options
author | Richard Henderson <rth@redhat.com> | 2011-10-07 15:41:48 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2011-10-07 15:41:48 -0700 |
commit | 2205ed2513edc01b29a6a87983ccee7ccaf3b194 (patch) | |
tree | 485f14b72a67f60b5c3ee61f71970cc2727a2fda /gcc/tree-vect-generic.c | |
parent | 524857ec5dfc4184fa28dfc187bfd631e2f9a6aa (diff) | |
download | gcc-2205ed2513edc01b29a6a87983ccee7ccaf3b194.zip gcc-2205ed2513edc01b29a6a87983ccee7ccaf3b194.tar.gz gcc-2205ed2513edc01b29a6a87983ccee7ccaf3b194.tar.bz2 |
Rename vshuffle/vec_shuffle to vec_perm.
* doc/extend.texi (__builtin_shuffle): Improve the description to
include the modulus of the selector. Mention OpenCL.
* doc/md.texi (vec_perm, vec_perm_const): Document named patterns.
* tree.def (VEC_PERM_EXPR): Rename from VEC_SHUFFLE_EXPR.
* genopinit.c (optabs): Rename vshuffle to vec_perm.
* c-typeck.c (c_build_vec_perm_expr): Rename from
c_build_vec_shuffle_expr. Update for name changes.
* optabs.c (expand_vec_perm_expr_p): Rename from
expand_vec_shuffle_expr_p.
(expand_vec_perm_expr): Rename from expand_vec_shuffle_expr.
* optabs.h (OTI_vec_perm): Rename from DOI_vshuffle.
(vec_perm_optab): Rename from vshuffle_optab.
* expr.c, gimple-pretty-print.c, gimple.c, gimplify.c,
c-tree.h, c-parser.c, tree-cfg.c, tree-inline.c, tree-pretty-print.c,
tree-ssa-operands.c, tree-vect-generic.c: Update for name changes.
* config/i386/i386.c (ix86_expand_vec_perm): Rename from
ix86_expand_vshuffle.
* config/i386/i386-protos.h: Update.
* config/i386/sse.md (VEC_PERM_AVX2): Rename from VSHUFFLE_AVX2.
(vec_perm<VEC_PERM_AVX2>): Rename from vshuffle<VSHUFFLE_AVX2>.
From-SVN: r179701
Diffstat (limited to 'gcc/tree-vect-generic.c')
-rw-r--r-- | gcc/tree-vect-generic.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/gcc/tree-vect-generic.c b/gcc/tree-vect-generic.c index 8f9f2a8..1d11701 100644 --- a/gcc/tree-vect-generic.c +++ b/gcc/tree-vect-generic.c @@ -597,21 +597,21 @@ vector_element (gimple_stmt_iterator *gsi, tree vect, tree idx, tree *ptmpvec) idx, NULL_TREE, NULL_TREE); } -/* Check if VEC_SHUFFLE_EXPR within the given setting is supported +/* Check if VEC_PERM_EXPR within the given setting is supported by hardware, or lower it piecewise. - When VEC_SHUFFLE_EXPR has the same first and second operands: - VEC_SHUFFLE_EXPR <v0, v0, mask> the lowered version would be + When VEC_PERM_EXPR has the same first and second operands: + VEC_PERM_EXPR <v0, v0, mask> the lowered version would be {v0[mask[0]], v0[mask[1]], ...} MASK and V0 must have the same number of elements. - Otherwise VEC_SHUFFLE_EXPR <v0, v1, mask> is lowered to + Otherwise VEC_PERM_EXPR <v0, v1, mask> is lowered to {mask[0] < len(v0) ? v0[mask[0]] : v1[mask[0]], ...} V0 and V1 must have the same type. MASK, V0, V1 must have the same number of arguments. */ static void -lower_vec_shuffle (gimple_stmt_iterator *gsi) +lower_vec_perm (gimple_stmt_iterator *gsi) { gimple stmt = gsi_stmt (*gsi); tree mask = gimple_assign_rhs3 (stmt); @@ -628,7 +628,7 @@ lower_vec_shuffle (gimple_stmt_iterator *gsi) bool two_operand_p = !operand_equal_p (vec0, vec1, 0); unsigned i; - if (expand_vec_shuffle_expr_p (TYPE_MODE (vect_type), vec0, vec1, mask)) + if (expand_vec_perm_expr_p (TYPE_MODE (vect_type), vec0, vec1, mask)) return; v = VEC_alloc (constructor_elt, gc, elements); @@ -721,9 +721,9 @@ expand_vector_operations_1 (gimple_stmt_iterator *gsi) rhs_class = get_gimple_rhs_class (code); lhs = gimple_assign_lhs (stmt); - if (code == VEC_SHUFFLE_EXPR) + if (code == VEC_PERM_EXPR) { - lower_vec_shuffle (gsi); + lower_vec_perm (gsi); return; } |