https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79649
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- struct A { unsigned char a[256]; } __seg_gs a; struct A __seg_gs b; void foo (struct A x) { a = x; b = a; } works at least, so it seems only the setmem path is affected in generic code (still about to fix loop distribution).