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 SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)