https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96340
--- Comment #2 from Richard Sandiford <rsandifo at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #1) > was this also fixed by r14-6416-gf5fc001a84a7db ? No, it's still unfixed due to: /* We currently do not support generating simdclones where vector arguments do not fit into a single vector register, i.e. vector types that are more than 128-bits large. This is because of how we currently represent such types in ACLE, where we use a struct to allow us to pass them as arguments and return. Hence why we have to check whether the simdlens available for this simdclone would cause a vector type to be larger than 128-bits, and reject such a clone. */ unsigned j = 0; while (j < simdlens.length ()) { bool remove_simdlen = false; for (auto elt : vec_elts) if (known_gt (simdlens[j] * elt.second, 128U)) { /* Don't issue a warning for every simdclone when there is no specific simdlen clause. */ if (explicit_p && maybe_ne (clonei->simdlen, 0U)) warning_at (DECL_SOURCE_LOCATION (node->decl), 0, "GCC does not currently support simdlen %wd for " "type %qT", constant_lower_bound (simdlens[j]), elt.first); remove_simdlen = true; break; } if (remove_simdlen) simdlens.ordered_remove (j); else j++; }