https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109758
--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> --- We'd need to bitcast with struct { #if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ uint64_t __high; uint64_t __low; #else uint64_t __low; uint64_t __high; #endif } __words64; }; and back (we can't use __uint128_t unconditionally).