------- Comment #1 from rguenth at gcc dot gnu dot org 2009-08-15 09:55 ------- because this is what C says you are doing:
return (unsigned short) ((int) a | ((int) b << 8)); which is harder to transform back into what you expect. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41076