https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93910
--- Comment #1 from Andreas Schwab <sch...@linux-m68k.org> --- You are still converting an unaligned pointer to an aligned pointer, and the address of a struct is the same as the address if its first member (with suitable conversion).