https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103699
--- Comment #6 from Petr <kobalicek.petr at gmail dot com> --- For now I have disabled unaligned load/store optimizations in my projects when dealing with GCC 11 and upwards. I still think that GCC is wrong in this case regardless of strict aliasing. The code in func_u32() is essentially creating a constant, and GCC 11+ is the only compiler returning it wrong and also inconsistently between optimization levels.