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.
In particular,
Table 2-27. Type 12 Class Exception Conditions
- If address size attribute is 16 bit.
and
2.3.12 Vector SIB (VSIB) Memory Addressing
In 16-bit protected mode, VSIB memory addressing is permitted if address size attribute is
overridden to 32 bits.
Therefore, in 16-bit mode, one *must* use the address prefix.
r~