GCC does not allow a the operand of an autoinc addressing mode to overlap with another soure operand in the same insn.  This is primarly enforced with insn conditions.  However, cases can slip through LRA and reload.  To address those scenarios we'll take an idea from the pdp11 port for describing the restriction in constraints as well. To implement that we need register classes and constraints which are "all general purpose hardware registers except r0".  And similarly for r1..r7(sp). This patch adds those register classes and constraints, but does not yet use them. Pushed to the trunk. Jeff