target.def (vec_perm_const_ok): Rename from builtin_vec_perm_ok.
* 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. From-SVN: r180270
This commit is contained in:
parent
74acb076e9
commit
5a3c00681c
@ -1,3 +1,12 @@
|
||||
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
|
||||
|
@ -36446,7 +36446,7 @@ ix86_expand_vec_perm_const (rtx operands[4])
|
||||
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)
|
||||
@ -37879,8 +37879,8 @@ ix86_autovectorize_vector_sizes (void)
|
||||
#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 \
|
||||
|
@ -5711,7 +5711,7 @@ misalignment value (@var{misalign}).
|
||||
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
|
||||
|
||||
|
@ -5649,7 +5649,7 @@ misalignment value (@var{misalign}).
|
||||
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
|
||||
|
||||
|
@ -6714,7 +6714,7 @@ can_vec_perm_expr_p (tree type, tree sel)
|
||||
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;
|
||||
}
|
||||
|
||||
@ -6808,7 +6808,7 @@ expand_vec_perm_expr (tree type, tree v0, tree v1, tree sel, rtx target)
|
||||
{
|
||||
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;
|
||||
|
@ -985,9 +985,9 @@ DEFHOOK
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user