Hello!
The clobber of the scratch register has disappeared!
A possible clue as to what sets up the failure is that the second
replacement insn (to replace insn 7)
(set (reg:HI 24)
(eq:HI (reg:CCZ_C 13 cc)
(const_int 0 [0x0])))
needs to have a clobber added. It really looks like this:
(set (reg:HI 24)
(eq:HI (reg:CCZ_C 13 cc)
(const_int 0 [0x0])))
(clobber (reg:CC 13 cc))
Combine knows how to add clobbers to make insns recognizable. I'm guessing
it accidentally clobbers the original insn in doing so. Where would I look?
Try by tracing through recog_for_combine(), combine.c.
Uros.