https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107295
--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> --- Sure, sorry, I forgot to send it: template <typename T> struct VecHelper { typedef T __attribute__((vector_size(sizeof(int)))) V; }; template <int, typename T> using Vec = typename VecHelper<T>::V; template <typename T> using V = Vec<4, T>; using F = V<float>; constexpr F F0 = F() + 0.0f;