I just finished up a new tblgen feature that makes it possible to define templates which expand to multiple 'defs' at a time. In practice this means you can write more compact targets and factor redundancy out more easily.
For example, this patch factors the commonality between the "ri" and "rr" instructions in the sparc backend out:
More could be done in the sparc backend if desired, such as factoring out commonality between the float and double patterns, etc, but this isn't a super high priority for me :).
The feature is described here: