------- Comment #40 from rth at gcc dot gnu dot org 2007-03-30 16:14 ------- The reason we do that is to match the way the arithmetic would be performed on the host as much as possible. This could be important if someother part of the compiler already relied on SHIFT_COUNT_TRUNCATED to eliminate a masking operation on the shift count, or somesuch.
I don't think this is obvious at all. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31169