Identical register input operands in assembly
R1 &lt;- R0 + R0 works in every processor that permits three register operands.  Nothing special needs to be done to deal with the same register driving multiple read ports.

Each register-file read port is just a multiplexer.  If you have $N$ registers driving the $N$ inputs of one $N$-to-$1$ multiplexer and the same $N$ registers driving the $N$ inputs of a different $N$-to-$1$ multiplexer, there's no constraint that says that both multiplexer selects can't be set to the same register.