https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122762
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I believe there should be always at most one SIMD_CLONE_ARG_TYPE_MASK argument, so no idea why the num_mask_args code has been added. At least simd_clone_adjust_argument_types adds it either 0 times or once (for ->inbranch case). Based on ncopied it can (and often does) be turned into multiple arguments in various ABIs, at least for larger vectorization factors. Regarding SVE, I'm afraid I have no idea what the actual vector ABI is in that case (and I think OpenMP standard support for the variable length ABIs has only landed very recently).
