* optabs.c (can_vec_perm_expr_p): Update to match.
(expand_vec_perm_expr): Likewise.
* config/i386/i386.c (TARGET_VECTORIZE_VEC_PERM_CONST_OK): Rename
from TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK.
* doc/tm.texi.in: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180270
138bc75d-0d04-0410-961f-
82ee72b054a4
+2011-10-20 Richard Henderson <rth@redhat.com>
+
+ * target.def (vec_perm_const_ok): Rename from builtin_vec_perm_ok.
+ * optabs.c (can_vec_perm_expr_p): Update to match.
+ (expand_vec_perm_expr): Likewise.
+ * config/i386/i386.c (TARGET_VECTORIZE_VEC_PERM_CONST_OK): Rename
+ from TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK.
+ * doc/tm.texi.in: Likewise.
+
2011-10-20 Sergey Ostanevich <sergos.gnu@gmail.com>
PR target/50572
return false;
}
-/* Implement targetm.vectorize.builtin_vec_perm_ok. */
+/* Implement targetm.vectorize.vec_perm_const_ok. */
static bool
ix86_vectorize_vec_perm_const_ok (tree vec_type, tree mask)
#undef TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST
#define TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST \
ix86_builtin_vectorization_cost
-#undef TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK
-#define TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK \
+#undef TARGET_VECTORIZE_VEC_PERM_CONST_OK
+#define TARGET_VECTORIZE_VEC_PERM_CONST_OK \
ix86_vectorize_vec_perm_const_ok
#undef TARGET_VECTORIZE_PREFERRED_SIMD_MODE
#define TARGET_VECTORIZE_PREFERRED_SIMD_MODE \
Return true if vector alignment is reachable (by peeling N iterations) for the given type.
@end deftypefn
-@deftypefn {Target Hook} bool TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK (tree @var{vec_type}, tree @var{mask})
+@deftypefn {Target Hook} bool TARGET_VECTORIZE_VEC_PERM_CONST_OK (tree @var{vec_type}, tree @var{mask})
Return true if a vector created for @code{vec_perm_const} is valid.
@end deftypefn
Return true if vector alignment is reachable (by peeling N iterations) for the given type.
@end deftypefn
-@hook TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK
+@hook TARGET_VECTORIZE_VEC_PERM_CONST_OK
Return true if a vector created for @code{vec_perm_const} is valid.
@end deftypefn
if (sel == NULL || TREE_CODE (sel) == VECTOR_CST)
{
if (direct_optab_handler (vec_perm_const_optab, mode) != CODE_FOR_nothing
- && (sel == NULL || targetm.vectorize.builtin_vec_perm_ok (type, sel)))
+ && (sel == NULL || targetm.vectorize.vec_perm_const_ok (type, sel)))
return true;
}
{
icode = direct_optab_handler (vec_perm_const_optab, mode);
if (icode != CODE_FOR_nothing
- && targetm.vectorize.builtin_vec_perm_ok (TREE_TYPE (v0), sel)
+ && targetm.vectorize.vec_perm_const_ok (TREE_TYPE (v0), sel)
&& (tmp = expand_vec_perm_expr_1 (icode, target, v0_rtx,
v1_rtx, sel_rtx)) != NULL)
return tmp;
bool, (const_tree type, bool is_packed),
default_builtin_vector_alignment_reachable)
-/* Return true if a vector created for builtin_vec_perm is valid. */
+/* Return true if a vector created for vec_perm_const is valid. */
DEFHOOK
-(builtin_vec_perm_ok,
+(vec_perm_const_ok,
"",
bool, (tree vec_type, tree mask),
hook_bool_tree_tree_true)