target/i386/tcg: treat VEX as disabling high-byte registers
This does not have any functional effect because the only instruction where it would make a difference is VPINSRB/VPINSRW, and they disable high-byte registers even for the non-AVX encoding. However, with APX it becomes a general property of the EVEX prefix and it makes sense to treat VEX the same way since it *does* include REX bits. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini committed
Dec 10, 2025 at 13:22 UTC
7bdcdf11416155d8bbb35e6239a0553ec3f5a16e
1 file changed
+1
-1
target/i386/tcg/translate.c
+1
-1
@@ -208,7 +208,7 @@ typedef struct DisasContext {
208
#endif
209
210
#ifdef TARGET_X86_64
211
-#define REX_PREFIX(S) (((S)->prefix & PREFIX_REX) != 0)
211
+#define REX_PREFIX(S) (((S)->prefix & (PREFIX_REX | PREFIX_VEX)) != 0)
212
#define REX_W(S) ((S)->vex_w)
213
#define REX_R(S) ((S)->rex_r + 0)
214
#define REX_X(S) ((S)->rex_x + 0)