https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91720
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- If W_O_R with load_extend_op (QImode) == ZERO_EXTEND says that the upper bits are all clear, then (insn 34 33 35 (set (reg:QI 15 a5 [orig:94 iftmp.0_7 ] [94]) (const_int -128 [0xffffffffffffff80])) "pr91720.c":12:5 142 {*movqi_internal} (nil)) needs to be actually emitted as a5 = 128 rather than a5 = -128, otherwise I don't see how it can work.