https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78366
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Note it is created in the caller context, thus
double foo(double *, double *, int)
__attribute__((target_clones("avx,default")));
double x;
int main()
{
double a,b;
x = foo (&a, &b, 1);
}
creates it in the program. I suppose that's a feature (but it will complicate
handling in libgfortran as you need to "register" the proper target-clones
in the FE when compiling user code so the resolvers get created there).