This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
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.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |