https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96930
--- Comment #4 from Gabriel Ravier <gabravier at gmail dot com> --- > The testcase seems to be optimized into return a >> b; and already e.g. GCC > 4.4 does that. > So it is unclear why this has been reported and what difference you found. What I observed is that it is optimized into `return (uint64_t)a >> b;` (where `unsigned` is 32-bit), not `return a >> b;`.