https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99637
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> --- Yes. If the result type is a class type and the padding bits in the input correspond to unsigned char or std::byte subobjects in the result, that's OK (because the only parts with indeterminate values are byte-like types, the rest of the result is properly initialized). I think GCC is correct here.