QEmu translation is incorrect when using REX in combination with LAHF/SAHF

This bug has been copied automatically from: https://bugs.launchpad.net/qemu/+bug/1828867

When translating code that is using LAHF and SAHF in combination with the
REX prefix then qemu translates incorrectly.
These two instructions only ever use the AH register. Contrary to other
instructions where if you use REX + high bit offsets then it'll pull in
rsp and a few other registers.
On hardware the REX prefix doesn't effect behaviour of these instructions
at all.
QEMU incorrectly selects RSP as the register of choice here due to this
combination of REX + AH register usage.

I've attached a patch that is super terrible just so I can work around the
issue locally and to sort of show off how it is to be "fixed"

Attachments:

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information