This is okay, but gpc_reg_operand in predicates.md needs something
better than a magic "64" constant in the test. Should this be a
comment or a new symbolic value related the max/last FPR or number of
general registers?
The test assumes a lot about the relative ordering of the
various regnos (like most of the predicates). In my opinion
a literal here is better than testing with some in fact
unrelated macro. All these predicates could use a cleanup,
bring them into the 21st century. I didn't really feel like
doing that though.
I'll add a comment.
I changed the test to INT_REGNO_P || FP_REGNO_P; this isn't
totally obvious since INT_REGNO_P includes ap and fp, but those
are covered by the other arms of the conditional already: in
fact, it probably would be better to rewrite the whole thing
to simply disallow LR, CTR, CA (and MQ ;-) ); this would
express the purpose much better. But that's not for this
patch. Regtested again, all three patches committed.
So what's next? Remove common mode, remove old-mnemonics?
Segher