Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
#define X16(x) X8(x), X8(x)
enum {
#define X16(x) X8(x), X8(x)
enum {
D(SrcMem16 | ModRM | Mov | Priv), N,
} };
D(SrcMem16 | ModRM | Mov | Priv), N,
} };
-static struct opcode group_table[] = {
- [Group8*8] =
+static struct opcode group8[] = {
N, N, N, N,
D(DstMem | SrcImmByte | ModRM), D(DstMem | SrcImmByte | ModRM | Lock),
D(DstMem | SrcImmByte | ModRM | Lock), D(DstMem | SrcImmByte | ModRM | Lock),
N, N, N, N,
D(DstMem | SrcImmByte | ModRM), D(DstMem | SrcImmByte | ModRM | Lock),
D(DstMem | SrcImmByte | ModRM | Lock), D(DstMem | SrcImmByte | ModRM | Lock),
+};
+
+static struct opcode group_table[] = {
[Group9*8] =
N, D(DstMem64 | ModRM | Lock), N, N, N, N, N, N,
};
[Group9*8] =
N, D(DstMem64 | ModRM | Lock), N, N, N, N, N, N,
};
D(DstReg | SrcMem16 | ModRM | Mov),
/* 0xB8 - 0xBF */
N, N,
D(DstReg | SrcMem16 | ModRM | Mov),
/* 0xB8 - 0xBF */
N, N,
- D(Group | Group8), D(DstMem | SrcReg | ModRM | BitOp | Lock),
+ G(0, group8), D(DstMem | SrcReg | ModRM | BitOp | Lock),
N, N, D(ByteOp | DstReg | SrcMem | ModRM | Mov),
D(DstReg | SrcMem16 | ModRM | Mov),
/* 0xC0 - 0xCF */
N, N, D(ByteOp | DstReg | SrcMem | ModRM | Mov),
D(DstReg | SrcMem16 | ModRM | Mov),
/* 0xC0 - 0xCF */