https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77996
--- Comment #8 from Yichao Yu <yyc1992 at gmail dot com> --- > Can you try with -fno-strict-aliasing ? That seems to fix it for both the original case (LLVM) and the reduced case (the linked tarball). Is there a way to figure out the problematic (either bug in LLVM's code or gcc's alias detection) aliasing assumption?