https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65321
--- Comment #7 from Jeffrey A. Law <law at redhat dot com> --- Richard S. is correct. SHIFT_COUNT_TRUNCATED means that the target internally truncates the shift count to the number of bits needed to represent the size of the object being shift (which is actually more crisply defined than I remember). For a !SHIFT_COUNT_TRUNCATED target, the count is still constrained by the mode of the shift count and it *may* still be internally truncated by the target. The x86 and m68k are good examples of this. They truncate shifts, but not things like variable bit test instructions. But since they don't truncate both, we do not define SHIFT_COUNT_TRUNCATED.