On 12/11/25 14:28, Paolo Bonzini wrote:
On Thu, Dec 11, 2025 at 4:47 PM Richard Henderson
<[email protected]> wrote:
On 12/10/25 07:16, Paolo Bonzini wrote:
VSIB instructions (VEX class 12) must not have an address prefix.
Checking s->aflag == MO_16 is not enough because in 64-bit mode
the address prefix changes aflag to MO_32. Add a specific check
bit instead.
Cc: [email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
---
target/i386/tcg/decode-new.h | 3 +++
target/i386/tcg/decode-new.c.inc | 27 +++++++++++++--------------
2 files changed, 16 insertions(+), 14 deletions(-)
Where do you see this? I think this is wrong.
Yes, I was confused by the comment and by QEMU's incorrect decoding logic:
if (CODE32(s) && !VM86(s)) {
which should be changed to
if (PE(s) && !VM86(s)) {
I can't find the language for that. Can you point me at it?
And by the way, this also means that we need either separate helpers
for 32- and 64-bit addresses, or a mask argument.
Of course.
r~