I feel it necessary to point out that the 3-by-2 division actually has multiple benefits which are easy to miss:
1. The quotient loop can be skipped as I mentioned.
2. The "Add back" step is less likely to be triggered.
3. Since a 2-word remainder is computed with the division, you can skip 2 iterations on the multiply+subtract step.
My reimplementation of GMP documents both the 2-by-1 and 3-by-2 divisions pretty thoroughly[1][2].
[1] https://github.com/bcoin-org/libtorsion/blob/master/src/mpi....
[2] https://github.com/bcoin-org/libtorsion/blob/master/src/mpi....
I used the Möller & Granlund paper for a portable implementation of 2-by-1 division [1], and on my machine (which is admittedly not exactly new) it runs much faster than the DIV instruction.
OpenSSL has introduced another 3 by 2, but this one is written with constant-time concerns for cryptography [4]
[1]: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.47....
[2]: https://github.com/status-im/nim-stint/blob/bae3fc6/stint/pr...
[3]: http://bioinfo.ict.ac.cn/~dbu/AlgorithmCourses/Lectures/Hass...