http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29776
--- Comment #13 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- For the RTL operations and optabs, we have CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO, but as noted in the documentation they do not refer to definedness for the built-in functions. (That's similar to SHIFT_COUNT_TRUNCATED / TARGET_SHIFT_TRUNCATION_MASK, which again describe semantics at the RTL level but do not affect the undefinedness of out-of-range shifts in C/C++ source code or GIMPLE.)