https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85344
--- Comment #15 from Segher Boessenkool <segher at gcc dot gnu.org> --- What is this "TYPE_MODE"? Nothing here has type short_int, HImode: we have an integer constant value, 32768, which is cast to "unsigned short", which is a no-op: that results in an integer constant 32768! As the tree dumps show, btw. GCC works fine, until cfgexpand fucks it up.