https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77676
--- Comment #9 from Martin Sebor <msebor at gcc dot gnu.org> --- I found the problem responsible for the incorrect code generation but I have disabled the optimization until I have a robust solution. The ILP32 warning in comment #6 is a separate issue. I'm looking into it. The warning in comment #4 looks legitimate and should be fixable by enlarging the destination buffer to 15 bytes as suggested in the note.