https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61320
--- Comment #45 from thopre01 at gcc dot gnu.org --- I only looked at differences in bswap so far and it all looks ok. It correctly detects three patterns of 16bit big endian load and replace them by 16bit unsigned loads and cast the results to int as was done in the original pattern.