https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69851
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Jason Merrill from comment #3) > (In reply to Jakub Jelinek from comment #2) > > Do we want a memcpy/memmove like assignment in this case, something else? > > memcpy, yes. Why isn't that the default for whole bytes in memory, anyway? No idea. I guess at least for GCC 6 it might be safest to just hack up expand_assignment to expand TREE_ADDRESSABLE assignment that way (just ones with weirdo sizes, which would otherwise go into store_field, or all?).