https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111933
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- uint32_t from_unaligned_u32(uint32_t *unaligned) { uint32_t tmp; tmp = *unaligned; note this isn't an unaligned access since you dereference a uint32_t pointer