On Wed, 18 Oct 2023, Andre Vieira (lists) wrote:
> Rebased, needs review.
+ tree parm_type = NULL_TREE;
+ if(i < args.length())
+ {
space before (
+/* Return SSA name of the result of the conversion of OPERAND into type
TYPE.
+ The conversion statement is inserted at GSI. */
+
+static tree
+vect_convert (vec_info *vinfo, stmt_vec_info stmt_info, tree type, tree
operand,
+ gimple_stmt_iterator *gsi)
+{
+ operand = build1 (VIEW_CONVERT_EXPR, type, operand);
+ gassign *new_stmt = gimple_build_assign (make_ssa_name (type),
+ operand);
I don't like this much, it's got one use in your patch only. Please
leave this abstraction out.
OK with the above two changes.
Thanks,
Richard.
> On 30/08/2023 10:13, Andre Vieira (lists) via Gcc-patches wrote:
> > This patch enables the compiler to use inbranch simdclones when generating
> > masked loops in autovectorization.
> >
> > gcc/ChangeLog:
> >
> > * omp-simd-clone.cc (simd_clone_adjust_argument_types): Make function
> > compatible with mask parameters in clone.
> > * tree-vect-stmts.cc (vect_convert): New helper function.
> > (vect_build_all_ones_mask): Allow vector boolean typed masks.
> > (vectorizable_simd_clone_call): Enable the use of masked clones in
> > fully masked loops.
>
--
Richard Biener <[email protected]>
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)