https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113736
--- Comment #3 from rguenther at suse dot de <rguenther at suse dot de> --- On Sat, 3 Feb 2024, jakub at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113736 > > Jakub Jelinek <jakub at gcc dot gnu.org> changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > Last reconfirmed| |2024-02-03 > CC| |rguenth at gcc dot gnu.org > Ever confirmed|0 |1 > Status|UNCONFIRMED |NEW > > --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- > struct S { _BitInt(710) a; }; > struct T { struct S b[2]; }; > > void > foo (__seg_gs struct T *p) > { > struct S s; > p->b[0] = s; > } > > Bitint lowering changes here > MEM <<address-space-2> _BitInt(768)> [(<address-space-2> struct T *)p_2(D)] > = > s_4(D); > to > VIEW_CONVERT_EXPR<unsigned long[12]>(MEM <<address-space-2> _BitInt(768)> > [(<address-space-2> struct T *)p_2(D)])[_5] = s_7(D); > accesses in a loop. Is that invalid and should have <address-space-2> also in > the VCE type? Or is this just a vectorizer bug? I think that's OK, I will have a look.