https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113736
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to rguent...@suse.de from comment #3) > On Sat, 3 Feb 2024, jakub at gcc dot gnu.org wrote: > > 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. I stand corrected - it isn't correct. The address-space needs to be on all types involved in a memory reference (RTL expansion is later quite forgiving though). This needs better documentation and maybe even IL checking I guess.