All conversions go via standard optabs now.

Bootstrap running on x86_64-unknown-linux-gnu.

Richard.

2019-11-27  Richard Biener  <rguent...@suse.de>

        * target.def (TARGET_VECTORIZE_BUILTIN_CONVERSION): Remove.
        * targhooks.c (default_builtin_vectorized_conversion): Likewise.
        * targhooks.h (default_builtin_vectorized_conversion): Likewise.
        * optabs-tree.c (supportable_convert_operation): Do not call
        targetm.vectorize.builtin_conversion.
        * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_CONVERSION): Remove.
        * doc/tm.texi: Regenerate.

Index: gcc/target.def
===================================================================
--- gcc/target.def      (revision 278758)
+++ gcc/target.def      (working copy)
@@ -1797,22 +1797,6 @@ return type of the vectorized function s
  tree, (tree fndecl, tree vec_type_out, tree vec_type_in),
  default_builtin_md_vectorized_function)
 
-/* Returns a function declaration for a builtin that realizes the
-   vector conversion, or NULL_TREE if not available.  */
-DEFHOOK
-(builtin_conversion,
- "This hook should return the DECL of a function that implements conversion of 
the\n\
-input vector of type @var{src_type} to type @var{dest_type}.\n\
-The value of @var{code} is one of the enumerators in @code{enum tree_code} 
and\n\
-specifies how the conversion is to be applied\n\
-(truncation, rounding, etc.).\n\
-\n\
-If this hook is defined, the autovectorizer will use the\n\
-@code{TARGET_VECTORIZE_BUILTIN_CONVERSION} target hook when vectorizing\n\
-conversion. Otherwise, it will return @code{NULL_TREE}.",
- tree, (unsigned code, tree dest_type, tree src_type),
- default_builtin_vectorized_conversion)
-
 /* Cost of different vector/scalar statements in vectorization cost
    model. In case of misaligned vector loads and stores the cost depends
    on the data type and misalignment value.  */
Index: gcc/targhooks.c
===================================================================
--- gcc/targhooks.c     (revision 278758)
+++ gcc/targhooks.c     (working copy)
@@ -688,16 +688,6 @@ default_builtin_md_vectorized_function (
   return NULL_TREE;
 }
 
-/* Vectorized conversion.  */
-
-tree
-default_builtin_vectorized_conversion (unsigned int code ATTRIBUTE_UNUSED,
-                                      tree dest_type ATTRIBUTE_UNUSED,
-                                      tree src_type ATTRIBUTE_UNUSED)
-{
-  return NULL_TREE;
-}
-
 /* Default vectorizer cost model values.  */
 
 int
Index: gcc/targhooks.h
===================================================================
--- gcc/targhooks.h     (revision 278758)
+++ gcc/targhooks.h     (working copy)
@@ -93,8 +93,6 @@ extern const char * default_invalid_with
 extern tree default_builtin_vectorized_function (unsigned int, tree, tree);
 extern tree default_builtin_md_vectorized_function (tree, tree, tree);
 
-extern tree default_builtin_vectorized_conversion (unsigned int, tree, tree);
-
 extern int default_builtin_vectorization_cost (enum vect_cost_for_stmt, tree, 
int);
 
 extern tree default_builtin_reciprocal (tree);
Index: gcc/optabs-tree.c
===================================================================
--- gcc/optabs-tree.c   (revision 278758)
+++ gcc/optabs-tree.c   (working copy)
@@ -317,15 +317,6 @@ supportable_convert_operation (enum tree
       return true;
     }
 
-  /* Now check for builtin.  */
-  if (targetm.vectorize.builtin_conversion
-      && targetm.vectorize.builtin_conversion (code, vectype_out, vectype_in))
-    {
-      *code1 = CALL_EXPR;
-      *decl = targetm.vectorize.builtin_conversion (code, vectype_out,
-                                                   vectype_in);
-      return true;
-    }
   return false;
 }
 
Index: gcc/doc/tm.texi
===================================================================
--- gcc/doc/tm.texi     (revision 278758)
+++ gcc/doc/tm.texi     (working copy)
@@ -5959,18 +5959,6 @@ instruction pattern.  There is no need f
 implementation approaches itself.
 @end deftypefn
 
-@deftypefn {Target Hook} tree TARGET_VECTORIZE_BUILTIN_CONVERSION (unsigned 
@var{code}, tree @var{dest_type}, tree @var{src_type})
-This hook should return the DECL of a function that implements conversion of 
the
-input vector of type @var{src_type} to type @var{dest_type}.
-The value of @var{code} is one of the enumerators in @code{enum tree_code} and
-specifies how the conversion is to be applied
-(truncation, rounding, etc.).
-
-If this hook is defined, the autovectorizer will use the
-@code{TARGET_VECTORIZE_BUILTIN_CONVERSION} target hook when vectorizing
-conversion. Otherwise, it will return @code{NULL_TREE}.
-@end deftypefn
-
 @deftypefn {Target Hook} tree TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION 
(unsigned @var{code}, tree @var{vec_type_out}, tree @var{vec_type_in})
 This hook should return the decl of a function that implements the
 vectorized variant of the function with the @code{combined_fn} code
Index: gcc/doc/tm.texi.in
===================================================================
--- gcc/doc/tm.texi.in  (revision 278758)
+++ gcc/doc/tm.texi.in  (working copy)
@@ -4163,8 +4163,6 @@ address;  but often a machine-dependent
 
 @hook TARGET_VECTORIZE_VEC_PERM_CONST
 
-@hook TARGET_VECTORIZE_BUILTIN_CONVERSION
-
 @hook TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION
 
 @hook TARGET_VECTORIZE_BUILTIN_MD_VECTORIZED_FUNCTION

Reply via email to