]> git.proxmox.com Git - mirror_qemu.git/commit
target/i386: move operand load and writeback out of gen_cmovcc1
authorPaolo Bonzini <pbonzini@redhat.com>
Fri, 27 Oct 2023 02:22:25 +0000 (04:22 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 29 Dec 2023 21:04:15 +0000 (22:04 +0100)
commitd4f611711a9abe23616d6d965fba955340d11d0d
tree5ed2a40fd2714a14d4ded0c62ed094c7159a390e
parent3497f1646f603c396248451c6df8f9d979060351
target/i386: move operand load and writeback out of gen_cmovcc1

Similar to gen_setcc1, make gen_cmovcc1 receive TCGv.  This is more friendly
to simultaneous implementation in the old and the new decoder.

A small wart is that s->T0 of CMOV is currently the *second* argument (which
would ordinarily be in T1).  Therefore, the condition has to be inverted in
order to overwrite s->T0 with cpu_regs[reg] if the MOV is not performed.

This only applies to the old decoder, and this code will go away soon.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
target/i386/tcg/translate.c