Quoting Hans-Peter Nilsson <h...@bitrange.com>:

I came to the somewhat the same conclusion for CRIS where all
insns set condition codes except move to memory and a "add
reg1,reg2" (no immediate operand) and to/from special registers:
there'll one clobbering and one CC_REG-setting pattern plus a
load of others (peephole2's mostly) to get an exact match.

What would help is a kind of iterator that (also) affects the
form of the insn, so you could match the clobbering and the
cc0-setting insn in the same (iterator-using) pattern.

match_parallel is useful for recognizing insns with varying clobbers.
Unfortunately, it is absolutely useless when you want a reasonable expander,
so then you end up having a separate expander pattern, even if all you want to
do is have structure of the patch_parallel without extra clobbers.
Repeat for a dozen similar instructions, and it gets really annoying.

Reply via email to