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~

Reply via email to