https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89977
--- Comment #3 from JunMa <JunMa at linux dot alibaba.com> --- (In reply to JunMa from comment #2) > After a bit more thinking, the behavior of gcc trunk is right. the range of > n_3 in truncation from int128 to long unsigned int equal to the range of > long unsigned int. for example: if n_3 = 0x100000000, then _1 is 0 which is > less than 7. > > so this is not a bug. sorry, when n_3 = 0x1000 00000000 00000000, _1 is 0.