https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84431
--- Comment #5 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Ruslan Nikolaev from comment #4) > Thanks! I was wondering if the patch also fixes the same thing for x86-64 > (i.e., -m64); in which case we would have something like this: > > __uint128_t func(__uint128_t a, unsigned shift) > { > return a << (shift & 63); > } Yes, the patch also handles __int128.