2013/7/5 Paulo Matos <pma...@broadcom.com> > > Hi, > > I am convinced that what I am about to ask is not possible but I would like > someone to confirm this. > > Can I define in an insn a register constraint that depends on another > register value? > So, for > (set (match_operand:SI 0 "register_operand" "r") > (match_operand:SI 1 "register_operand" "r")) > > What I would like to represent is the fact that 0 and 1 are register pairs, > so op0 is even and op1 is op0 + 1. > I noticed that avr defines register pair constraints but only for specific > registers. If you have 64 registers that will give you 22 pairs. I could, of > course, create all of these by hand by defining 23 classes and define a > single constraint that matches these classes but I would like to know if > there's another way.
You can try to play with DImode register and two SImode subregs of it. Denis.