https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112405
--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>: https://gcc.gnu.org/g:9125969086bfa1bf804b246ea574a2329b06d2c5 commit r14-5158-g9125969086bfa1bf804b246ea574a2329b06d2c5 Author: Richard Biener <rguent...@suse.de> Date: Mon Nov 6 14:34:07 2023 +0100 tree-optimization/112405 - SIMD clone calls with (loop) mask The following fixes the mask argument generation for SIMD clone calls under either loop masking or when the actual call is not masked but only a inbranch simd clone is available. The issue was that we tried to directly convert the vector mask to the call argument type but SIMD clone masks require 1 or 0 (which could be even float) values for mask elements so we have to resort to a VEC_COND_EXPR to generate them just like we do for regular passing of the mask. PR tree-optimization/112405 * tree-vect-stmts.cc (vectorizable_simd_clone_call): Properly handle invariant and/or loop mask passing.