[gcc(refs/users/marxin/heads/vect_cond_expr-rework-v2)] Expose VCOND_MASK internal function.

Martin Liska marxin@gcc.gnu.org
Wed Mar 4 14:10:00 GMT 2020


https://gcc.gnu.org/g:a9b8c4befc6d2d2a958f1da4d1b29319a011b2ba

commit a9b8c4befc6d2d2a958f1da4d1b29319a011b2ba
Author: Martin Liska <mliska@suse.cz>
Date:   Wed Mar 4 14:25:08 2020 +0100

    Expose VCOND_MASK internal function.

Diff:
---
 gcc/internal-fn.c   | 12 ++++++++++++
 gcc/internal-fn.def |  2 ++
 2 files changed, 14 insertions(+)

diff --git a/gcc/internal-fn.c b/gcc/internal-fn.c
index 52d1638..95da28d 100644
--- a/gcc/internal-fn.c
+++ b/gcc/internal-fn.c
@@ -107,6 +107,7 @@ init_internal_fns ()
 #define mask_store_direct { 3, 2, false }
 #define store_lanes_direct { 0, 0, false }
 #define mask_store_lanes_direct { 0, 0, false }
+#define vec_cond_mask_direct { 0, 0, false }
 #define scatter_store_direct { 3, 1, false }
 #define unary_direct { 0, 0, true }
 #define binary_direct { 0, 0, true }
@@ -2544,6 +2545,16 @@ expand_mask_store_optab_fn (internal_fn, gcall *stmt, convert_optab optab)
 
 #define expand_mask_store_lanes_optab_fn expand_mask_store_optab_fn
 
+// TODO: add comment
+
+static void
+expand_vec_cond_mask_optab_fn (internal_fn, gcall *stmt, convert_optab optab)
+{
+  gcc_unreachable ();
+}
+
+#define expand_vec_cond_mask_optab_fn expand_vec_cond_mask_optab_fn
+
 static void
 expand_ABNORMAL_DISPATCHER (internal_fn, gcall *)
 {
@@ -3125,6 +3136,7 @@ multi_vector_optab_supported_p (convert_optab optab, tree_pair types,
 #define direct_mask_store_optab_supported_p direct_optab_supported_p
 #define direct_store_lanes_optab_supported_p multi_vector_optab_supported_p
 #define direct_mask_store_lanes_optab_supported_p multi_vector_optab_supported_p
+#define direct_vec_cond_mask_optab_supported_p multi_vector_optab_supported_p
 #define direct_scatter_store_optab_supported_p convert_optab_supported_p
 #define direct_while_optab_supported_p convert_optab_supported_p
 #define direct_fold_extract_optab_supported_p direct_optab_supported_p
diff --git a/gcc/internal-fn.def b/gcc/internal-fn.def
index 1d190d4..b19d851 100644
--- a/gcc/internal-fn.def
+++ b/gcc/internal-fn.def
@@ -136,6 +136,8 @@ DEF_INTERNAL_OPTAB_FN (STORE_LANES, ECF_CONST, vec_store_lanes, store_lanes)
 DEF_INTERNAL_OPTAB_FN (MASK_STORE_LANES, 0,
 		       vec_mask_store_lanes, mask_store_lanes)
 
+DEF_INTERNAL_OPTAB_FN (VCOND_MASK, 0, vcond_mask, vec_cond_mask)
+
 DEF_INTERNAL_OPTAB_FN (WHILE_ULT, ECF_CONST | ECF_NOTHROW, while_ult, while)
 DEF_INTERNAL_OPTAB_FN (CHECK_RAW_PTRS, ECF_CONST | ECF_NOTHROW,
 		       check_raw_ptrs, check_ptrs)



More information about the Gcc-cvs mailing list