Skip to content

Conversation

@fvrmatteo
Copy link
Contributor

With the bump to the new XED version there are a bunch of instructions that have additional encoding templates (iform in XED parlance) that need to be added to the semantics.

The easiest way to spot them is to diff the iclass and iform columns of the idata.txt file between the old and new XED versions.

This is an example fixed by the current PR:

Old XED:

MOVSX               BASE            DATAXFER        MOVSX_GPRv_GPR16               I386                 SCALABLE
MOVSX               BASE            DATAXFER        MOVSX_GPRv_GPR8                I386                 SCALABLE
MOVSX               BASE            DATAXFER        MOVSX_GPRv_MEMb                I386                 SCALABLE
MOVSX               BASE            DATAXFER        MOVSX_GPRv_MEMw                I386                 SCALABLE

MOVSXD              LONGMODE        DATAXFER        MOVSXD_GPRv_GPRz               LONGMODE             SCALABLE
MOVSXD              LONGMODE        DATAXFER        MOVSXD_GPRv_MEMz               LONGMODE             SCALABLE

New XED:

MOVSX               BASE            DATAXFER        MOVSX_GPR16_MEMw               I386                 INVALID
MOVSX               BASE            DATAXFER        MOVSX_GPR32_MEMw               I386                 INVALID
MOVSX               BASE            DATAXFER        MOVSX_GPR64_MEMw               I386                 INVALID
MOVSX               BASE            DATAXFER        MOVSX_GPRv_GPR16               I386                 SCALABLE
MOVSX               BASE            DATAXFER        MOVSX_GPRv_GPR8                I386                 SCALABLE
MOVSX               BASE            DATAXFER        MOVSX_GPRv_MEMb                I386                 SCALABLE
MOVSX               BASE            DATAXFER        MOVSX_GPRv_MEMw                I386                 SCALABLE

MOVSXD              LONGMODE        DATAXFER        MOVSXD_GPR64_MEMd              LONGMODE             INVALID
MOVSXD              LONGMODE        DATAXFER        MOVSXD_GPRv_GPRz               LONGMODE             SCALABLE
MOVSXD              LONGMODE        DATAXFER        MOVSXD_GPRz_MEMz               LONGMODE             SCALABLE

@kyle-elliott-tob kyle-elliott-tob merged commit 36c1d3c into lifting-bits:master Dec 11, 2025
8 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants