[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