https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119067
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Here is a testcase that does not use builtins: file0.cc: ``` typedef char __v32qi __attribute__ ((__vector_size__ (32))); struct ff { __v32qi t; }; __v32qi g(struct ff a) { return a.t; } ``` file1.cc: ``` #pragma GCC push_options #pragma GCC target("avx2") typedef char __v32qi __attribute__ ((__vector_size__ (32))); struct ff { __v32qi t; }; __v32qi g(struct ff a); __v32qi h(__v32qi a) { struct ff t = {a}; return g(t); } #pragma GCC pop_options ``` I get the feeling there is a mode issue ...