https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87680
--- Comment #4 from Corey Kosak <gnu at kosak dot com> --- To my eye it doesn't seem to be related to exceptions or initializer lists, so I don't think it's the same bug, but you all would know better than me. When I look at the .s file I see a giant sequence of the form .LC0: .long 10 .long 11 .long 12 .long 13 .long 10 .long 11 .long 12 .long 13 .long 10 .long 11 .long 12 .long 13 ... and then the constructor uses .LC0 to initialize the object with a single memcpy. Which might be a fine strategy for objects of reasonable size, but maybe there should be a size cutoff.