https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61306
--- Comment #3 from Thomas Preud'homme <thomas.preudhomme at arm dot com> --- Indeed. I also noticed that the original bswap code would happily accept signed ssa value and signed cast which can lead to disaster. I worked out a patch for this issue that check the sign of the lhs of the bitwise or expression and use the (unsigned_)?int.I_type_node accordingly but I now get bootstrap failure. I'll provide a patch asap.