https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79905
--- Comment #7 from Bill Schmidt <wschmidt at gcc dot gnu.org> --- In rs6000.c: rs6000_handle_altivec_attribute(), the altivec(vector__) attribute is used to assign V4SI_type_node as the associated type in this case. V4SI_type_node has a canonical type field that points to itself. This type is created in rs6000_init_builtins() as follows: V4SI_type_node = build_vector_type (intSI_type_node, 4); My guess is that we need to call some interface that will look for an existing type and canonicalize to that one, but I don't know how any of this front-endish stuff works. I'll keep looking.