https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66552

--- Comment #11 from Li Jia He <helijia at gcc dot gnu.org> ---
The reason is that it is the remainder of the nth power of 2.  In x >> (n% 32),
32 is the fifth power of 2.  The hexadecimal representation of 32 is 0x100. 
Taking the remainder of 0x100, the data range is 0 ~ 0xff.  And the result is
the same as x >> (n & 0xff).

Reply via email to