{ CPU_386, 0, 32, 1, {0x8B, 0, 0}, 0, 2,
{OPT_Reg|OPS_32|OPA_Spare, OPT_RM|OPS_32|OPS_Relaxed|OPA_EA, 0} },
- /* Need two sets here, one for strictness on left side, one for right. */
- { CPU_Any, 0, 16, 1, {0x8C, 0, 0}, 0, 2,
- {OPT_RM|OPS_16|OPS_Relaxed|OPA_EA, OPT_SegReg|OPS_16|OPA_Spare, 0} },
- { CPU_386, 0, 32, 1, {0x8C, 0, 0}, 0, 2,
- {OPT_RM|OPS_32|OPS_Relaxed|OPA_EA, OPT_SegReg|OPS_32|OPA_Spare, 0} },
+ { CPU_Any, 0, 0, 1, {0x8C, 0, 0}, 0, 2,
+ {OPT_Mem|OPS_16|OPS_Relaxed|OPA_EA,
+ OPT_SegReg|OPS_16|OPS_Relaxed|OPA_Spare, 0} },
{ CPU_Any, 0, 16, 1, {0x8C, 0, 0}, 0, 2,
- {OPT_RM|OPS_16|OPA_EA, OPT_SegReg|OPS_Any|OPA_Spare, 0} },
+ {OPT_Reg|OPS_16|OPA_EA, OPT_SegReg|OPS_16|OPS_Relaxed|OPA_Spare, 0} },
{ CPU_386, 0, 32, 1, {0x8C, 0, 0}, 0, 2,
- {OPT_RM|OPS_32|OPA_EA, OPT_SegReg|OPS_Any|OPA_Spare, 0} },
- /* These allow for unspecified sized moves /to/ a segreg */
+ {OPT_Reg|OPS_32|OPA_EA, OPT_SegReg|OPS_16|OPS_Relaxed|OPA_Spare, 0} },
{ CPU_Any, 0, 0, 1, {0x8E, 0, 0}, 0, 2,
- {OPT_SegReg|OPS_Any|OPA_Spare, OPT_RM|OPS_Any|OPA_EA, 0} },
+ {OPT_SegReg|OPS_16|OPS_Relaxed|OPA_Spare,
+ OPT_RM|OPS_16|OPS_Relaxed|OPA_EA, 0} },
{ CPU_386, 0, 0, 1, {0x8E, 0, 0}, 0, 2,
- {OPT_SegReg|OPS_Any|OPA_Spare, OPT_RM|OPS_Any|OPA_EA, 0} },
- /* Need two sets here, one for strictness on left side, one for right. */
- { CPU_Any, 0, 16, 1, {0x8E, 0, 0}, 0, 2,
- {OPT_SegReg|OPS_16|OPA_Spare, OPT_RM|OPS_16|OPS_Relaxed|OPA_EA, 0} },
- { CPU_386, 0, 32, 1, {0x8E, 0, 0}, 0, 2,
- {OPT_SegReg|OPS_32|OPA_Spare, OPT_RM|OPS_32|OPS_Relaxed|OPA_EA, 0} },
- { CPU_Any, 0, 16, 1, {0x8E, 0, 0}, 0, 2,
- {OPT_SegReg|OPS_Any|OPA_Spare, OPT_RM|OPS_16|OPA_EA, 0} },
- { CPU_386, 0, 32, 1, {0x8E, 0, 0}, 0, 2,
- {OPT_SegReg|OPS_Any|OPA_Spare, OPT_RM|OPS_32|OPA_EA, 0} },
+ {OPT_SegReg|OPS_16|OPS_Relaxed|OPA_Spare, OPT_Reg|OPS_32|OPA_EA, 0} },
{ CPU_Any, 0, 0, 1, {0xB0, 0, 0}, 0, 2,
{OPT_Reg|OPS_8|OPA_Op0Add, OPT_Imm|OPS_8|OPS_Relaxed|OPA_Imm, 0} },
{ CPU_386, 0, 32, 1, {0x8B, 0, 0}, 0, 2,
{OPT_Reg|OPS_32|OPA_Spare, OPT_RM|OPS_32|OPS_Relaxed|OPA_EA, 0} },
- /* Need two sets here, one for strictness on left side, one for right. */
- { CPU_Any, 0, 16, 1, {0x8C, 0, 0}, 0, 2,
- {OPT_RM|OPS_16|OPS_Relaxed|OPA_EA, OPT_SegReg|OPS_16|OPA_Spare, 0} },
- { CPU_386, 0, 32, 1, {0x8C, 0, 0}, 0, 2,
- {OPT_RM|OPS_32|OPS_Relaxed|OPA_EA, OPT_SegReg|OPS_32|OPA_Spare, 0} },
+ { CPU_Any, 0, 0, 1, {0x8C, 0, 0}, 0, 2,
+ {OPT_Mem|OPS_16|OPS_Relaxed|OPA_EA,
+ OPT_SegReg|OPS_16|OPS_Relaxed|OPA_Spare, 0} },
{ CPU_Any, 0, 16, 1, {0x8C, 0, 0}, 0, 2,
- {OPT_RM|OPS_16|OPA_EA, OPT_SegReg|OPS_Any|OPA_Spare, 0} },
+ {OPT_Reg|OPS_16|OPA_EA, OPT_SegReg|OPS_16|OPS_Relaxed|OPA_Spare, 0} },
{ CPU_386, 0, 32, 1, {0x8C, 0, 0}, 0, 2,
- {OPT_RM|OPS_32|OPA_EA, OPT_SegReg|OPS_Any|OPA_Spare, 0} },
- /* These allow for unspecified sized moves /to/ a segreg */
+ {OPT_Reg|OPS_32|OPA_EA, OPT_SegReg|OPS_16|OPS_Relaxed|OPA_Spare, 0} },
{ CPU_Any, 0, 0, 1, {0x8E, 0, 0}, 0, 2,
- {OPT_SegReg|OPS_Any|OPA_Spare, OPT_RM|OPS_Any|OPA_EA, 0} },
+ {OPT_SegReg|OPS_16|OPS_Relaxed|OPA_Spare,
+ OPT_RM|OPS_16|OPS_Relaxed|OPA_EA, 0} },
{ CPU_386, 0, 0, 1, {0x8E, 0, 0}, 0, 2,
- {OPT_SegReg|OPS_Any|OPA_Spare, OPT_RM|OPS_Any|OPA_EA, 0} },
- /* Need two sets here, one for strictness on left side, one for right. */
- { CPU_Any, 0, 16, 1, {0x8E, 0, 0}, 0, 2,
- {OPT_SegReg|OPS_16|OPA_Spare, OPT_RM|OPS_16|OPS_Relaxed|OPA_EA, 0} },
- { CPU_386, 0, 32, 1, {0x8E, 0, 0}, 0, 2,
- {OPT_SegReg|OPS_32|OPA_Spare, OPT_RM|OPS_32|OPS_Relaxed|OPA_EA, 0} },
- { CPU_Any, 0, 16, 1, {0x8E, 0, 0}, 0, 2,
- {OPT_SegReg|OPS_Any|OPA_Spare, OPT_RM|OPS_16|OPA_EA, 0} },
- { CPU_386, 0, 32, 1, {0x8E, 0, 0}, 0, 2,
- {OPT_SegReg|OPS_Any|OPA_Spare, OPT_RM|OPS_32|OPA_EA, 0} },
+ {OPT_SegReg|OPS_16|OPS_Relaxed|OPA_Spare, OPT_Reg|OPS_32|OPA_EA, 0} },
{ CPU_Any, 0, 0, 1, {0xB0, 0, 0}, 0, 2,
{OPT_Reg|OPS_8|OPA_Op0Add, OPT_Imm|OPS_8|OPS_Relaxed|OPA_Imm, 0} },