diff --git a/gcc/optabs-query.h b/gcc/optabs-query.h
index 0cb2c21ba8562e8dbdf5f5a4f29cc4c08159b0fa..932ee361c7a11602e35bccff5daba2c74c7e79fb 100644
--- a/gcc/optabs-query.h
+++ b/gcc/optabs-query.h
@@ -108,20 +108,6 @@ get_vec_cmp_eq_icode (machine_mode vmode, machine_mode mask_mode)
   return convert_optab_handler (vec_cmpeq_optab, vmode, mask_mode);
 }
 
-/* Return insn code for a conditional operator with a comparison in
-   mode CMODE, unsigned if UNS is true, resulting in a value of mode VMODE.  */
-
-inline enum insn_code
-get_vcond_icode (machine_mode vmode, machine_mode cmode, bool uns)
-{
-  enum insn_code icode = CODE_FOR_nothing;
-  if (uns)
-    icode = convert_optab_handler (vcondu_optab, vmode, cmode);
-  else
-    icode = convert_optab_handler (vcond_optab, vmode, cmode);
-  return icode;
-}
-
 /* Return insn code for a conditional operator with a mask mode
    MMODE resulting in a value of mode VMODE.  */
 
@@ -131,15 +117,6 @@ get_vcond_mask_icode (machine_mode vmode, machine_mode mmode)
   return convert_optab_handler (vcond_mask_optab, vmode, mmode);
 }
 
-/* Return insn code for a conditional operator with a comparison in
-   mode CMODE (only EQ/NE), resulting in a value of mode VMODE.  */
-
-inline enum insn_code
-get_vcond_eq_icode (machine_mode vmode, machine_mode cmode)
-{
-  return convert_optab_handler (vcondeq_optab, vmode, cmode);
-}
-
 /* Enumerates the possible extraction_insn operations.  */
 enum extraction_pattern { EP_insv, EP_extv, EP_extzv };
 
diff --git a/gcc/optabs-tree.cc b/gcc/optabs-tree.cc
index b69a5bc367626aca6b281c6f5627fc2f5a47ca4f..f5ef674575604391dd5585e8ff57eb67f9cc483c 100644
--- a/gcc/optabs-tree.cc
+++ b/gcc/optabs-tree.cc
@@ -446,59 +446,19 @@ expand_vec_cmp_expr_p (tree value_type, tree mask_type, enum tree_code code)
 	 || vec_cmp_eq_icode_p (value_type, mask_type, code);
 }
 
-/* Return true iff vcond_optab/vcondu_optab can handle a vector
-   comparison for code CODE, comparing operands of type CMP_OP_TYPE and
-   producing a result of type VALUE_TYPE.  */
-
-static bool
-vcond_icode_p (tree value_type, tree cmp_op_type, enum tree_code code)
-{
-  enum rtx_code rcode = get_rtx_code_1 (code, TYPE_UNSIGNED (cmp_op_type));
-  if (rcode == UNKNOWN)
-    return false;
-
-  return can_vcond_compare_p (rcode, TYPE_MODE (value_type),
-			      TYPE_MODE (cmp_op_type));
-}
-
-/* Return true iff vcondeq_optab can handle a vector comparison for code CODE,
-   comparing operands of type CMP_OP_TYPE and producing a result of type
-   VALUE_TYPE.  */
-
-static bool
-vcond_eq_icode_p (tree value_type, tree cmp_op_type, enum tree_code code)
-{
-  if (code != EQ_EXPR && code != NE_EXPR)
-    return false;
-
-  return get_vcond_eq_icode (TYPE_MODE (value_type), TYPE_MODE (cmp_op_type))
-	 != CODE_FOR_nothing;
-}
-
 /* Return TRUE iff, appropriate vector insns are available
    for vector cond expr with vector type VALUE_TYPE and a comparison
    with operand vector types in CMP_OP_TYPE.  */
 
 bool
-expand_vec_cond_expr_p (tree value_type, tree cmp_op_type, enum tree_code code)
+expand_vec_cond_expr_p (tree value_type, tree cmp_op_type)
 {
-  machine_mode value_mode = TYPE_MODE (value_type);
-  machine_mode cmp_op_mode = TYPE_MODE (cmp_op_type);
   if (VECTOR_BOOLEAN_TYPE_P (cmp_op_type)
       && get_vcond_mask_icode (TYPE_MODE (value_type),
 			       TYPE_MODE (cmp_op_type)) != CODE_FOR_nothing)
     return true;
 
-  if (maybe_ne (GET_MODE_NUNITS (value_mode), GET_MODE_NUNITS (cmp_op_mode)))
-    return false;
-
-  if (TREE_CODE_CLASS (code) != tcc_comparison)
-    /* This may happen, for example, if code == SSA_NAME, in which case we
-       cannot be certain whether a vector insn is available.  */
-    return false;
-
-  return vcond_icode_p (value_type, cmp_op_type, code)
-	 || vcond_eq_icode_p (value_type, cmp_op_type, code);
+  return false;
 }
 
 /* Use the current target and options to initialize
diff --git a/gcc/optabs-tree.h b/gcc/optabs-tree.h
index 85805fd8296a798d1c35f72cd8c26838ce2afadc..afd6fd57771a257dd94b821636e5db46d7197f28 100644
--- a/gcc/optabs-tree.h
+++ b/gcc/optabs-tree.h
@@ -43,7 +43,7 @@ supportable_half_widening_operation (enum tree_code, tree, tree,
 bool supportable_convert_operation (enum tree_code, tree, tree,
 				    enum tree_code *);
 bool expand_vec_cmp_expr_p (tree, tree, enum tree_code);
-bool expand_vec_cond_expr_p (tree, tree, enum tree_code = ERROR_MARK);
+bool expand_vec_cond_expr_p (tree, tree);
 void init_tree_optimization_optabs (tree);
 bool target_supports_op_p (tree, enum tree_code,
 			   enum optab_subtype = optab_default);
diff --git a/gcc/optabs.cc b/gcc/optabs.cc
index 03ef0c5d81d07f890d508fffb06d80e1a4ddd4d0..fa51e498a98e7c59b52803424b2d4289c7960bc6 100644
--- a/gcc/optabs.cc
+++ b/gcc/optabs.cc
@@ -4364,22 +4364,6 @@ can_vec_cmp_compare_p (enum rtx_code code, machine_mode value_mode,
   return insn_predicate_matches_p (icode, 1, code, mask_mode, value_mode);
 }
 
-/* Return whether the backend can emit a vector comparison (vcond/vcondu) for
-   code CODE, comparing operands of mode CMP_OP_MODE and producing a result
-   with VALUE_MODE.  */
-
-bool
-can_vcond_compare_p (enum rtx_code code, machine_mode value_mode,
-		     machine_mode cmp_op_mode)
-{
-  enum insn_code icode
-      = get_vcond_icode (value_mode, cmp_op_mode, unsigned_optab_p (code));
-  if (icode == CODE_FOR_nothing)
-    return false;
-
-  return insn_predicate_matches_p (icode, 3, code, value_mode, cmp_op_mode);
-}
-
 /* Return whether the backend can emit vector set instructions for inserting
    element into vector at variable index position.  */
 
diff --git a/gcc/optabs.h b/gcc/optabs.h
index 86a60865217c8bf9542198f0e2290c161543e2de..a1dbaf8b56cbe7e1dbe7d0f892c2e07a6ebcfac3 100644
--- a/gcc/optabs.h
+++ b/gcc/optabs.h
@@ -262,11 +262,6 @@ extern bool can_compare_p (enum rtx_code, machine_mode,
    with MASK_MODE.  */
 extern bool can_vec_cmp_compare_p (enum rtx_code, machine_mode, machine_mode);
 
-/* Return whether the backend can emit a vector comparison (vcond/vcondu) for
-   code CODE, comparing operands of mode CMP_OP_MODE and producing a result
-   with VALUE_MODE.  */
-extern bool can_vcond_compare_p (enum rtx_code, machine_mode, machine_mode);
-
 /* Return whether the backend can emit vector set instructions for inserting
    element into vector at variable index position.  */
 extern bool can_vec_set_var_idx_p (machine_mode);