Fixes a regression from f6e8e1c4 where drutil_insert_get_mem_addr() gets the wrong address for a far memref that uses the destination register, due to improper ordering of operations.
Also optimizes from two steps to one for a far memref that uses the destination but not the scratch register and has only one of base or index.
Fixes #2913 (closed)