On Sat, Jan 17, 2015 at 01:18:44PM -0500, Hans-Peter Nilsson wrote: > The current cc-first order happened more of an accidental > opinion than an architectural decision as I vaguely recall, when > asking. We also have the canonical location of a *cc clobber*, > i.e. last in a parallel. For that reason, it then makes sense > to have the *cc-setting* last. Changing rebelling ports doesn't > solve that inconsistency.
Except you also have the variant of the insn pattern where the CC is set and the GPR is clobbered (on PowerPC we have one of those for every insn, and only a few where CC is clobbered). > So, my vote for canonically declaring the order non-canonical > *and* automatically generating/matching both orders. It would be nice to only have to write the set+set version, and do some markup to say which of the clobber variants should be generated, yes. Having the order canonical is nice for whatever has to match it. There are a lot more places that have to match it than places that have to generate it. We could of course change gen* so you can write patterns in any order you please in your machine description files. Segher