|
|
|
@ -1365,192 +1365,188 @@ |
|
|
|
|
|
|
|
#define OPERAND_TYPE_NONE \ |
|
|
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_REG8 \ |
|
|
|
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_REG16 \ |
|
|
|
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_REG32 \ |
|
|
|
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_REG64 \ |
|
|
|
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
1, 0, 0, 0, 0, 0, 0 } } |
|
|
|
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_IMM1 \ |
|
|
|
{ { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_IMM8 \ |
|
|
|
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_IMM8S \ |
|
|
|
{ { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_IMM16 \ |
|
|
|
{ { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_IMM32 \ |
|
|
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_IMM32S \ |
|
|
|
{ { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_IMM64 \ |
|
|
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_BASEINDEX \ |
|
|
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_DISP8 \ |
|
|
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_DISP16 \ |
|
|
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_DISP32 \ |
|
|
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_DISP32S \ |
|
|
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_DISP64 \ |
|
|
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_INOUTPORTREG \ |
|
|
|
{ { 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
{ { 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_SHIFTCOUNT \ |
|
|
|
{ { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
{ { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_CONTROL \ |
|
|
|
{ { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_TEST \ |
|
|
|
{ { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_DEBUG \ |
|
|
|
{ { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_FLOATREG \ |
|
|
|
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 1, 0, 0, 0, 0, 0 } } |
|
|
|
1, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_FLOATACC \ |
|
|
|
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 1, 0, 0, 0, 0, 0 } } |
|
|
|
1, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_SREG \ |
|
|
|
{ { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_JUMPABSOLUTE \ |
|
|
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_REGMMX \ |
|
|
|
{ { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_REGXMM \ |
|
|
|
{ { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 1, 0, 0, 0, 0 } } |
|
|
|
0, 1, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_REGYMM \ |
|
|
|
{ { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 1, 0, 0, 0 } } |
|
|
|
0, 0, 1, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_REGZMM \ |
|
|
|
{ { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 1, 0, 0 } } |
|
|
|
0, 0, 0, 1, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_REGMASK \ |
|
|
|
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_REGBND \ |
|
|
|
{ { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_ACC8 \ |
|
|
|
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_ACC16 \ |
|
|
|
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_ACC32 \ |
|
|
|
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_ACC64 \ |
|
|
|
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
1, 0, 0, 0, 0, 0, 0 } } |
|
|
|
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_DISP16_32 \ |
|
|
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_ANYDISP \ |
|
|
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_IMM16_32 \ |
|
|
|
{ { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_IMM16_32S \ |
|
|
|
{ { 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_IMM16_32_32S \ |
|
|
|
{ { 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_IMM32_64 \ |
|
|
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_IMM32_32S_DISP32 \ |
|
|
|
{ { 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_IMM64_DISP64 \ |
|
|
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_IMM32_32S_64_DISP32 \ |
|
|
|
{ { 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_IMM32_32S_64_DISP32_64 \ |
|
|
|
{ { 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|
|
|
|
#define OPERAND_TYPE_ANYIMM \ |
|
|
|
{ { 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ |
|
|
|
0, 0, 0, 0, 0, 0, 0 } } |
|
|
|
0, 0, 0, 0, 0, 0 } } |
|
|
|
|