diff options
Diffstat (limited to 'results/classifier/phi4:14b/output/instruction/1828867')
| -rw-r--r-- | results/classifier/phi4:14b/output/instruction/1828867 | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/results/classifier/phi4:14b/output/instruction/1828867 b/results/classifier/phi4:14b/output/instruction/1828867 new file mode 100644 index 000000000..a17fd5b58 --- /dev/null +++ b/results/classifier/phi4:14b/output/instruction/1828867 @@ -0,0 +1,11 @@ + + + +QEmu translation is incorrect when using REX in combination with LAHF/SAHF + +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" \ No newline at end of file |