Hi.
For MOVDIR64B, shouldn't BASE1 be A_GPR_B()?
{
ICLASS: MOVDIR64B
CPL: 3
CATEGORY: MOVDIR
EXTENSION: MOVDIR
ISA_SET: MOVDIR64B
REAL_OPCODE: Y
ATTRIBUTES: REQUIRES_ALIGNMENT
PATTERN: 0x0F 0x38 0xF8 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() osz_refining_prefix not64
OPERANDS: REG0=A_GPR_R():r MEM0:r:zd:u32 MEM1:w:zd:SUPP BASE1=A_GPR_R():r:SUPP SEG1=XED_REG_ES:r:SUPP
IFORM: MOVDIR64B_GPRa_MEM
PATTERN: 0x0F 0x38 0xF8 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() osz_refining_prefix mode64
OPERANDS: REG0=A_GPR_R():r MEM0:r:zd:u32 MEM1:w:zd:SUPP BASE1=A_GPR_R():r:SUPP
IFORM: MOVDIR64B_GPRa_MEM
}
According to the specs, operand 2 is "ModRM:r/m (r)".

Thank you.
Hi.
For MOVDIR64B, shouldn't BASE1 be A_GPR_B()?
{
ICLASS: MOVDIR64B
CPL: 3
CATEGORY: MOVDIR
EXTENSION: MOVDIR
ISA_SET: MOVDIR64B
REAL_OPCODE: Y
ATTRIBUTES: REQUIRES_ALIGNMENT
PATTERN: 0x0F 0x38 0xF8 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() osz_refining_prefix not64
OPERANDS: REG0=A_GPR_R():r MEM0:r:zd:u32 MEM1:w:zd:SUPP BASE1=A_GPR_R():r:SUPP SEG1=XED_REG_ES:r:SUPP
IFORM: MOVDIR64B_GPRa_MEM
PATTERN: 0x0F 0x38 0xF8 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() osz_refining_prefix mode64
OPERANDS: REG0=A_GPR_R():r MEM0:r:zd:u32 MEM1:w:zd:SUPP BASE1=A_GPR_R():r:SUPP
IFORM: MOVDIR64B_GPRa_MEM
}
According to the specs, operand 2 is "ModRM:r/m (r)".
Thank you.