build: annotations and modifications for c2go
The main changes fall into a few patterns:
1. Replace #define with enum.
2. Add /*c2go */ comment giving effect of #define.
This is necessary for function-like #defines and
non-enum-able #defined constants.
(Not all compilers handle negative or large enums.)
3. Add extra braces in struct initializer.
(c2go does not implement the full rules.)
This is enough to let c2go typecheck the source tree.
There may be more changes once it is doing
other semantic analyses.
LGTM=minux, iant
R=minux, dave, iant
CC=golang-codereviews
https://golang.org/cl/106860045
diff --git a/include/bio.h b/include/bio.h
index f61409b..982b881 100644
--- a/include/bio.h
+++ b/include/bio.h
@@ -129,6 +129,14 @@
int Bungetrune(Biobuf*);
long Bwrite(Biobuf*, void*, long);
int Bvprint(Biobuf*, char*, va_list);
+/*c2go
+int BGETC(Biobuf*);
+int BGETLE2(Biobuf*);
+int BGETLE4(Biobuf*);
+int BPUTC(Biobuf*, int);
+int BPUTLE2(Biobuf*, int);
+int BPUTLE4(Biobuf*, int);
+*/
#if defined(__cplusplus)
}
diff --git a/include/link.h b/include/link.h
index b4a46a9..e7bc76c 100644
--- a/include/link.h
+++ b/include/link.h
@@ -112,6 +112,8 @@
char width; /* fake for DATA */
char mode; /* 16, 32, or 64 in 6l, 8l; internal use in 5g, 6g, 8g */
+
+ /*c2go uchar TEXTFLAG; */
};
// prevent incompatible type signatures between liblink and 8l on Plan 9
@@ -167,7 +169,7 @@
// SDATA, SBSS
uchar* p;
- int32 np;
+ int np;
int32 maxp;
Reloc* r;
int32 nr;
diff --git a/src/cmd/5g/galign.c b/src/cmd/5g/galign.c
index a62102e..b4c45da 100644
--- a/src/cmd/5g/galign.c
+++ b/src/cmd/5g/galign.c
@@ -23,10 +23,10 @@
*/
Typedef typedefs[] =
{
- "int", TINT, TINT32,
- "uint", TUINT, TUINT32,
- "uintptr", TUINTPTR, TUINT32,
- 0
+ {"int", TINT, TINT32},
+ {"uint", TUINT, TUINT32},
+ {"uintptr", TUINTPTR, TUINT32},
+ {0}
};
void
diff --git a/src/cmd/5g/gg.h b/src/cmd/5g/gg.h
index 413e93c..62f73c8 100644
--- a/src/cmd/5g/gg.h
+++ b/src/cmd/5g/gg.h
@@ -11,10 +11,13 @@
#define TEXTFLAG reg
-#define REGALLOC_R0 0
-#define REGALLOC_RMAX REGEXT
-#define REGALLOC_F0 NREG
-#define REGALLOC_FMAX (REGALLOC_F0 + FREGEXT)
+enum
+{
+ REGALLOC_R0 = 0,
+ REGALLOC_RMAX = REGEXT,
+ REGALLOC_F0 = NREG,
+ REGALLOC_FMAX = REGALLOC_F0 + FREGEXT,
+};
EXTERN int32 dynloc;
EXTERN uchar reg[REGALLOC_FMAX+1];
diff --git a/src/cmd/5g/gsubr.c b/src/cmd/5g/gsubr.c
index f66c87b..b94da96 100644
--- a/src/cmd/5g/gsubr.c
+++ b/src/cmd/5g/gsubr.c
@@ -636,6 +636,7 @@
}
#define CASE(a,b) (((a)<<16)|((b)<<0))
+/*c2go int CASE(int, int); */
void
gmove(Node *f, Node *t)
diff --git a/src/cmd/5g/opt.h b/src/cmd/5g/opt.h
index e3e3f78..1946c1d 100644
--- a/src/cmd/5g/opt.h
+++ b/src/cmd/5g/opt.h
@@ -49,6 +49,24 @@
typedef struct Reg Reg;
typedef struct Rgn Rgn;
+/*c2go
+extern Node *Z;
+enum
+{
+ D_HI = D_NONE,
+ D_LO = D_NONE,
+ CLOAD = 5,
+ CREF = 5,
+ CINF = 1000,
+ LOOP = 3,
+};
+
+uint32 BLOAD(Reg*);
+uint32 BSTORE(Reg*);
+uint32 LOAD(Reg*);
+uint32 STORE(Reg*);
+*/
+
// A Reg is a wrapper around a single Prog (one instruction) that holds
// register optimization information while the optimizer runs.
// r->prog is the instruction.
@@ -71,8 +89,10 @@
int32 regu; // register used bitmap
};
#define R ((Reg*)0)
+/*c2go extern Reg *R; */
#define NRGN 600
+/*c2go enum { NRGN = 600 }; */
struct Rgn
{
Reg* enter;
diff --git a/src/cmd/5g/peep.c b/src/cmd/5g/peep.c
index 4aa6452..fe67f3a 100644
--- a/src/cmd/5g/peep.c
+++ b/src/cmd/5g/peep.c
@@ -564,6 +564,8 @@
* ..
*/
#define FAIL(msg) { if(debug['P']) print("\t%s; FAILURE\n", msg); return 0; }
+/*c2go void FAIL(char*); */
+
int
shiftprop(Flow *r)
{
diff --git a/src/cmd/5g/reg.c b/src/cmd/5g/reg.c
index 4762df5..a82ad31 100644
--- a/src/cmd/5g/reg.c
+++ b/src/cmd/5g/reg.c
@@ -36,6 +36,11 @@
#define NREGVAR 32
#define REGBITS ((uint32)0xffffffff)
+/*c2go enum {
+ NREGVAR = 32,
+ REGBITS = 0xffffffff,
+};
+*/
void addsplits(void);
static Reg* firstr;
diff --git a/src/cmd/5l/5.out.h b/src/cmd/5l/5.out.h
index 9e8acee..edcef12 100644
--- a/src/cmd/5l/5.out.h
+++ b/src/cmd/5l/5.out.h
@@ -28,34 +28,43 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-#define NSNAME 8
-#define NSYM 50
-#define NREG 16
+enum
+{
+ NSNAME = 8,
+ NSYM = 50,
+ NREG = 16,
+};
#include "../ld/textflag.h"
-#define REGRET 0
/* -1 disables use of REGARG */
#define REGARG -1
-/* compiler allocates R1 up as temps */
-/* compiler allocates register variables R3 up */
-#define REGEXT 10
-/* these two registers are declared in runtime.h */
-#define REGG (REGEXT-0)
-#define REGM (REGEXT-1)
-/* compiler allocates external registers R10 down */
-#define REGTMP 11
-#define REGSP 13
-#define REGLINK 14
-#define REGPC 15
+/*c2go enum { REGARG = -1 }; */
-#define NFREG 16
-#define FREGRET 0
-#define FREGEXT 7
-#define FREGTMP 15
+enum
+{
+ REGRET = 0,
+ /* compiler allocates R1 up as temps */
+ /* compiler allocates register variables R3 up */
+ /* compiler allocates external registers R10 down */
+ REGEXT = 10,
+ /* these two registers are declared in runtime.h */
+ REGG = REGEXT-0,
+ REGM = REGEXT-1,
+
+ REGTMP = 11,
+ REGSP = 13,
+ REGLINK = 14,
+ REGPC = 15,
+
+ NFREG = 16,
+ FREGRET = 0,
+ FREGEXT = 7,
+ FREGTMP = 15,
+};
/* compiler allocates register variables F0 up */
/* compiler allocates external registers F7 down */
-enum as
+enum
{
AXXX,
@@ -209,35 +218,38 @@
};
/* scond byte */
-#define C_SCOND ((1<<4)-1)
-#define C_SBIT (1<<4)
-#define C_PBIT (1<<5)
-#define C_WBIT (1<<6)
-#define C_FBIT (1<<7) /* psr flags-only */
-#define C_UBIT (1<<7) /* up bit, unsigned bit */
+enum
+{
+ C_SCOND = (1<<4)-1,
+ C_SBIT = 1<<4,
+ C_PBIT = 1<<5,
+ C_WBIT = 1<<6,
+ C_FBIT = 1<<7, /* psr flags-only */
+ C_UBIT = 1<<7, /* up bit, unsigned bit */
-#define C_SCOND_EQ 0
-#define C_SCOND_NE 1
-#define C_SCOND_HS 2
-#define C_SCOND_LO 3
-#define C_SCOND_MI 4
-#define C_SCOND_PL 5
-#define C_SCOND_VS 6
-#define C_SCOND_VC 7
-#define C_SCOND_HI 8
-#define C_SCOND_LS 9
-#define C_SCOND_GE 10
-#define C_SCOND_LT 11
-#define C_SCOND_GT 12
-#define C_SCOND_LE 13
-#define C_SCOND_NONE 14
-#define C_SCOND_NV 15
+ C_SCOND_EQ = 0,
+ C_SCOND_NE = 1,
+ C_SCOND_HS = 2,
+ C_SCOND_LO = 3,
+ C_SCOND_MI = 4,
+ C_SCOND_PL = 5,
+ C_SCOND_VS = 6,
+ C_SCOND_VC = 7,
+ C_SCOND_HI = 8,
+ C_SCOND_LS = 9,
+ C_SCOND_GE = 10,
+ C_SCOND_LT = 11,
+ C_SCOND_GT = 12,
+ C_SCOND_LE = 13,
+ C_SCOND_NONE = 14,
+ C_SCOND_NV = 15,
-/* D_SHIFT type */
-#define SHIFT_LL 0<<5
-#define SHIFT_LR 1<<5
-#define SHIFT_AR 2<<5
-#define SHIFT_RR 3<<5
+ /* D_SHIFT type */
+ SHIFT_LL = 0<<5,
+ SHIFT_LR = 1<<5,
+ SHIFT_AR = 2<<5,
+ SHIFT_RR = 3<<5,
+};
enum
{
@@ -279,3 +291,4 @@
* this is the ranlib header
*/
#define SYMDEF "__.GOSYMDEF"
+/*c2go extern char SYMDEF[]; */
diff --git a/src/cmd/6g/galign.c b/src/cmd/6g/galign.c
index 1d32c5a..5670e6f 100644
--- a/src/cmd/6g/galign.c
+++ b/src/cmd/6g/galign.c
@@ -30,10 +30,10 @@
*/
Typedef typedefs[] =
{
- "int", TINT, TINT64,
- "uint", TUINT, TUINT64,
- "uintptr", TUINTPTR, TUINT64,
- 0
+ {"int", TINT, TINT64},
+ {"uint", TUINT, TUINT64},
+ {"uintptr", TUINTPTR, TUINT64},
+ {0}
};
void
diff --git a/src/cmd/6g/gsubr.c b/src/cmd/6g/gsubr.c
index e4d00bf..d1b1d9b 100644
--- a/src/cmd/6g/gsubr.c
+++ b/src/cmd/6g/gsubr.c
@@ -584,6 +584,7 @@
}
#define CASE(a,b) (((a)<<16)|((b)<<0))
+/*c2go int CASE(int, int); */
/*
* Is this node a memory operand?
diff --git a/src/cmd/6g/opt.h b/src/cmd/6g/opt.h
index bf356af..dbd039d 100644
--- a/src/cmd/6g/opt.h
+++ b/src/cmd/6g/opt.h
@@ -49,6 +49,24 @@
typedef struct Reg Reg;
typedef struct Rgn Rgn;
+/*c2go
+extern Node *Z;
+enum
+{
+ D_HI = D_NONE,
+ D_LO = D_NONE,
+ CLOAD = 5,
+ CREF = 5,
+ CINF = 1000,
+ LOOP = 3,
+};
+
+uint32 BLOAD(Reg*);
+uint32 BSTORE(Reg*);
+uint32 LOAD(Reg*);
+uint32 STORE(Reg*);
+*/
+
// A Reg is a wrapper around a single Prog (one instruction) that holds
// register optimization information while the optimizer runs.
// r->prog is the instruction.
@@ -71,8 +89,10 @@
int32 regu; // register used bitmap
};
#define R ((Reg*)0)
+/*c2go extern Reg *R; */
#define NRGN 600
+/*c2go enum { NRGN = 600 }; */
struct Rgn
{
Reg* enter;
diff --git a/src/cmd/6g/reg.c b/src/cmd/6g/reg.c
index f3b1e55..02945fb 100644
--- a/src/cmd/6g/reg.c
+++ b/src/cmd/6g/reg.c
@@ -35,6 +35,11 @@
#define NREGVAR 32 /* 16 general + 16 floating */
#define REGBITS ((uint32)0xffffffff)
+/*c2go enum {
+ NREGVAR = 32,
+ REGBITS = 0xffffffff,
+};
+*/
static Reg* firstr;
static int first = 1;
diff --git a/src/cmd/6l/6.out.h b/src/cmd/6l/6.out.h
index 1e2a148..af72784 100644
--- a/src/cmd/6l/6.out.h
+++ b/src/cmd/6l/6.out.h
@@ -36,7 +36,7 @@
* amd64
*/
-enum as
+enum
{
AXXX,
AAAA,
diff --git a/src/cmd/8g/galign.c b/src/cmd/8g/galign.c
index fbd2e9a..a0eb349 100644
--- a/src/cmd/8g/galign.c
+++ b/src/cmd/8g/galign.c
@@ -23,10 +23,10 @@
*/
Typedef typedefs[] =
{
- "int", TINT, TINT32,
- "uint", TUINT, TUINT32,
- "uintptr", TUINTPTR, TUINT32,
- 0
+ {"int", TINT, TINT32},
+ {"uint", TUINT, TUINT32},
+ {"uintptr", TUINTPTR, TUINT32},
+ {0}
};
void
diff --git a/src/cmd/8g/gsubr.c b/src/cmd/8g/gsubr.c
index 2f3cb28..a131874 100644
--- a/src/cmd/8g/gsubr.c
+++ b/src/cmd/8g/gsubr.c
@@ -39,6 +39,7 @@
uint32 unmappedzero = 4096;
#define CASE(a,b) (((a)<<16)|((b)<<0))
+/*c2go int CASE(int, int);*/
void
clearp(Prog *p)
@@ -697,6 +698,7 @@
}
#define FCASE(a, b, c) (((a)<<16)|((b)<<8)|(c))
+/*c2go int FCASE(int, int, int); */
int
foptoas(int op, Type *t, int flg)
{
diff --git a/src/cmd/8g/opt.h b/src/cmd/8g/opt.h
index 77a69e1..09f58c4 100644
--- a/src/cmd/8g/opt.h
+++ b/src/cmd/8g/opt.h
@@ -49,6 +49,24 @@
typedef struct Reg Reg;
typedef struct Rgn Rgn;
+/*c2go
+extern Node *Z;
+enum
+{
+ D_HI = D_NONE,
+ D_LO = D_NONE,
+ CLOAD = 5,
+ CREF = 5,
+ CINF = 1000,
+ LOOP = 3,
+};
+
+uint32 BLOAD(Reg*);
+uint32 BSTORE(Reg*);
+uint32 LOAD(Reg*);
+uint32 STORE(Reg*);
+*/
+
// A Reg is a wrapper around a single Prog (one instruction) that holds
// register optimization information while the optimizer runs.
// r->prog is the instruction.
@@ -84,8 +102,10 @@
Prog* prog; // actual instruction
};
#define R ((Reg*)0)
+/*c2go extern Reg *R; */
#define NRGN 600
+/*c2go enum { NRGN = 600 }; */
struct Rgn
{
Reg* enter;
diff --git a/src/cmd/8g/peep.c b/src/cmd/8g/peep.c
index a4e516d..d88987f 100644
--- a/src/cmd/8g/peep.c
+++ b/src/cmd/8g/peep.c
@@ -33,7 +33,9 @@
#include "gg.h"
#include "opt.h"
-#define REGEXT 0
+enum {
+ REGEXT = 0,
+};
static void conprop(Flow *r);
static void elimshortmov(Graph*);
diff --git a/src/cmd/8g/reg.c b/src/cmd/8g/reg.c
index fd610f8..a69d124 100644
--- a/src/cmd/8g/reg.c
+++ b/src/cmd/8g/reg.c
@@ -35,6 +35,11 @@
#define NREGVAR 16 /* 8 integer + 8 floating */
#define REGBITS ((uint32)0xffff)
+/*c2go enum {
+ NREGVAR = 16,
+ REGBITS = (1<<NREGVAR) - 1,
+};
+*/
static Reg* firstr;
static int first = 1;
diff --git a/src/cmd/8l/8.out.h b/src/cmd/8l/8.out.h
index 8e642d3..ed54f67 100644
--- a/src/cmd/8l/8.out.h
+++ b/src/cmd/8l/8.out.h
@@ -32,7 +32,7 @@
#define NSNAME 8
#include "../ld/textflag.h"
-enum as
+enum
{
AXXX,
AAAA,
diff --git a/src/cmd/dist/buildgc.c b/src/cmd/dist/buildgc.c
index 1f0625d..3bb0a9d 100644
--- a/src/cmd/dist/buildgc.c
+++ b/src/cmd/dist/buildgc.c
@@ -82,7 +82,16 @@
bprintf(&b, "%s/../cmd/%cl/%c.out.h", dir, ch, ch);
readfile(&in, bstr(&b));
splitlines(&lines, bstr(&in));
- bprintf(&out, "char* anames%c[] = {\n", ch);
+
+ // Include link.h so that the extern declaration there is
+ // checked against the non-extern declaration we are generating.
+ bwritestr(&out, bprintf(&b, "#include <u.h>\n"));
+ bwritestr(&out, bprintf(&b, "#include <libc.h>\n"));
+ bwritestr(&out, bprintf(&b, "#include <bio.h>\n"));
+ bwritestr(&out, bprintf(&b, "#include <link.h>\n"));
+ bwritestr(&out, bprintf(&b, "\n"));
+
+ bwritestr(&out, bprintf(&b, "char* anames%c[] = {\n", ch));
for(i=0; i<lines.len; i++) {
if(hasprefix(lines.p[i], "\tA")) {
p = xstrstr(lines.p[i], ",");
diff --git a/src/cmd/gc/bisonerrors b/src/cmd/gc/bisonerrors
index 1f97fc8..fa74c67 100755
--- a/src/cmd/gc/bisonerrors
+++ b/src/cmd/gc/bisonerrors
@@ -22,6 +22,7 @@
bison = 1
grammar = 0
states = 0
+ open = 0
}
# In Grammar section of y.output,
@@ -130,11 +131,26 @@
continue
# No shift or reduce applied - found the error.
- printf("\t%s, %s,\n", state, tok);
+ printf("\t{%s, %s,\n", state, tok);
+ open = 1;
break
}
next
}
# Print other lines verbatim.
+open && /,$/ {
+ s = $0;
+ sub(",", "},", s)
+ print s
+ open = 0
+ next
+}
+
+open && /"$/ {
+ print $0 "}"
+ open = 0
+ next
+}
+
{print}
diff --git a/src/cmd/gc/const.c b/src/cmd/gc/const.c
index 143c173..c01784a 100644
--- a/src/cmd/gc/const.c
+++ b/src/cmd/gc/const.c
@@ -6,6 +6,7 @@
#include <libc.h>
#include "go.h"
#define TUP(x,y) (((x)<<16)|(y))
+/*c2go int TUP(int, int); */
static Val tocplx(Val);
static Val toflt(Val);
diff --git a/src/cmd/gc/esc.c b/src/cmd/gc/esc.c
index 78624d7..7ba1a45 100644
--- a/src/cmd/gc/esc.c
+++ b/src/cmd/gc/esc.c
@@ -1110,6 +1110,7 @@
// pass all the tests we have written so far, which we assume matches
// the level of complexity we want the escape analysis code to handle.
#define MinLevel (-2)
+/*c2go enum { MinLevel = -2 };*/
static void
escwalk(EscState *e, int level, Node *dst, Node *src)
diff --git a/src/cmd/gc/lex.c b/src/cmd/gc/lex.c
index c90cbef..6ac5781 100644
--- a/src/cmd/gc/lex.c
+++ b/src/cmd/gc/lex.c
@@ -139,6 +139,8 @@
#define isalnum use_yy_isalnum_instead_of_isalnum
#define DBG if(!debug['x']){}else print
+/*c2go void DBG(char*, ...); */
+
enum
{
EOF = -1,
@@ -516,24 +518,18 @@
nerrors = 0;
}
-/*
- * macro to portably read/write archive header.
- * 'cmd' is read/write/Bread/Bwrite, etc.
- */
-#define HEADER_IO(cmd, f, h) cmd(f, h.name, sizeof(h.name)) != sizeof(h.name)\
- || cmd(f, h.date, sizeof(h.date)) != sizeof(h.date)\
- || cmd(f, h.uid, sizeof(h.uid)) != sizeof(h.uid)\
- || cmd(f, h.gid, sizeof(h.gid)) != sizeof(h.gid)\
- || cmd(f, h.mode, sizeof(h.mode)) != sizeof(h.mode)\
- || cmd(f, h.size, sizeof(h.size)) != sizeof(h.size)\
- || cmd(f, h.fmag, sizeof(h.fmag)) != sizeof(h.fmag)
-
static int
arsize(Biobuf *b, char *name)
{
struct ar_hdr a;
- if (HEADER_IO(Bread, b, a))
+ if(Bread(b, a.name, sizeof(a.name)) != sizeof(a.name) ||
+ Bread(b, a.date, sizeof(a.date)) != sizeof(a.date) ||
+ Bread(b, a.uid, sizeof(a.uid)) != sizeof(a.uid) ||
+ Bread(b, a.gid, sizeof(a.gid)) != sizeof(a.gid) ||
+ Bread(b, a.mode, sizeof(a.mode)) != sizeof(a.mode) ||
+ Bread(b, a.size, sizeof(a.size)) != sizeof(a.size) ||
+ Bread(b, a.fmag, sizeof(a.fmag)) != sizeof(a.fmag))
return -1;
if(strncmp(a.name, name, strlen(name)) != 0)
@@ -1858,74 +1854,74 @@
/* name lexical etype op
*/
/* basic types */
- "int8", LNAME, TINT8, OXXX,
- "int16", LNAME, TINT16, OXXX,
- "int32", LNAME, TINT32, OXXX,
- "int64", LNAME, TINT64, OXXX,
+ {"int8", LNAME, TINT8, OXXX},
+ {"int16", LNAME, TINT16, OXXX},
+ {"int32", LNAME, TINT32, OXXX},
+ {"int64", LNAME, TINT64, OXXX},
- "uint8", LNAME, TUINT8, OXXX,
- "uint16", LNAME, TUINT16, OXXX,
- "uint32", LNAME, TUINT32, OXXX,
- "uint64", LNAME, TUINT64, OXXX,
+ {"uint8", LNAME, TUINT8, OXXX},
+ {"uint16", LNAME, TUINT16, OXXX},
+ {"uint32", LNAME, TUINT32, OXXX},
+ {"uint64", LNAME, TUINT64, OXXX},
- "float32", LNAME, TFLOAT32, OXXX,
- "float64", LNAME, TFLOAT64, OXXX,
+ {"float32", LNAME, TFLOAT32, OXXX},
+ {"float64", LNAME, TFLOAT64, OXXX},
- "complex64", LNAME, TCOMPLEX64, OXXX,
- "complex128", LNAME, TCOMPLEX128, OXXX,
+ {"complex64", LNAME, TCOMPLEX64, OXXX},
+ {"complex128", LNAME, TCOMPLEX128, OXXX},
- "bool", LNAME, TBOOL, OXXX,
- "string", LNAME, TSTRING, OXXX,
+ {"bool", LNAME, TBOOL, OXXX},
+ {"string", LNAME, TSTRING, OXXX},
- "any", LNAME, TANY, OXXX,
+ {"any", LNAME, TANY, OXXX},
- "break", LBREAK, Txxx, OXXX,
- "case", LCASE, Txxx, OXXX,
- "chan", LCHAN, Txxx, OXXX,
- "const", LCONST, Txxx, OXXX,
- "continue", LCONTINUE, Txxx, OXXX,
- "default", LDEFAULT, Txxx, OXXX,
- "else", LELSE, Txxx, OXXX,
- "defer", LDEFER, Txxx, OXXX,
- "fallthrough", LFALL, Txxx, OXXX,
- "for", LFOR, Txxx, OXXX,
- "func", LFUNC, Txxx, OXXX,
- "go", LGO, Txxx, OXXX,
- "goto", LGOTO, Txxx, OXXX,
- "if", LIF, Txxx, OXXX,
- "import", LIMPORT, Txxx, OXXX,
- "interface", LINTERFACE, Txxx, OXXX,
- "map", LMAP, Txxx, OXXX,
- "package", LPACKAGE, Txxx, OXXX,
- "range", LRANGE, Txxx, OXXX,
- "return", LRETURN, Txxx, OXXX,
- "select", LSELECT, Txxx, OXXX,
- "struct", LSTRUCT, Txxx, OXXX,
- "switch", LSWITCH, Txxx, OXXX,
- "type", LTYPE, Txxx, OXXX,
- "var", LVAR, Txxx, OXXX,
+ {"break", LBREAK, Txxx, OXXX},
+ {"case", LCASE, Txxx, OXXX},
+ {"chan", LCHAN, Txxx, OXXX},
+ {"const", LCONST, Txxx, OXXX},
+ {"continue", LCONTINUE, Txxx, OXXX},
+ {"default", LDEFAULT, Txxx, OXXX},
+ {"else", LELSE, Txxx, OXXX},
+ {"defer", LDEFER, Txxx, OXXX},
+ {"fallthrough", LFALL, Txxx, OXXX},
+ {"for", LFOR, Txxx, OXXX},
+ {"func", LFUNC, Txxx, OXXX},
+ {"go", LGO, Txxx, OXXX},
+ {"goto", LGOTO, Txxx, OXXX},
+ {"if", LIF, Txxx, OXXX},
+ {"import", LIMPORT, Txxx, OXXX},
+ {"interface", LINTERFACE, Txxx, OXXX},
+ {"map", LMAP, Txxx, OXXX},
+ {"package", LPACKAGE, Txxx, OXXX},
+ {"range", LRANGE, Txxx, OXXX},
+ {"return", LRETURN, Txxx, OXXX},
+ {"select", LSELECT, Txxx, OXXX},
+ {"struct", LSTRUCT, Txxx, OXXX},
+ {"switch", LSWITCH, Txxx, OXXX},
+ {"type", LTYPE, Txxx, OXXX},
+ {"var", LVAR, Txxx, OXXX},
- "append", LNAME, Txxx, OAPPEND,
- "cap", LNAME, Txxx, OCAP,
- "close", LNAME, Txxx, OCLOSE,
- "complex", LNAME, Txxx, OCOMPLEX,
- "copy", LNAME, Txxx, OCOPY,
- "delete", LNAME, Txxx, ODELETE,
- "imag", LNAME, Txxx, OIMAG,
- "len", LNAME, Txxx, OLEN,
- "make", LNAME, Txxx, OMAKE,
- "new", LNAME, Txxx, ONEW,
- "panic", LNAME, Txxx, OPANIC,
- "print", LNAME, Txxx, OPRINT,
- "println", LNAME, Txxx, OPRINTN,
- "real", LNAME, Txxx, OREAL,
- "recover", LNAME, Txxx, ORECOVER,
+ {"append", LNAME, Txxx, OAPPEND},
+ {"cap", LNAME, Txxx, OCAP},
+ {"close", LNAME, Txxx, OCLOSE},
+ {"complex", LNAME, Txxx, OCOMPLEX},
+ {"copy", LNAME, Txxx, OCOPY},
+ {"delete", LNAME, Txxx, ODELETE},
+ {"imag", LNAME, Txxx, OIMAG},
+ {"len", LNAME, Txxx, OLEN},
+ {"make", LNAME, Txxx, OMAKE},
+ {"new", LNAME, Txxx, ONEW},
+ {"panic", LNAME, Txxx, OPANIC},
+ {"print", LNAME, Txxx, OPRINT},
+ {"println", LNAME, Txxx, OPRINTN},
+ {"real", LNAME, Txxx, OREAL},
+ {"recover", LNAME, Txxx, ORECOVER},
- "notwithstanding", LIGNORE, Txxx, OXXX,
- "thetruthofthematter", LIGNORE, Txxx, OXXX,
- "despiteallobjections", LIGNORE, Txxx, OXXX,
- "whereas", LIGNORE, Txxx, OXXX,
- "insofaras", LIGNORE, Txxx, OXXX,
+ {"notwithstanding", LIGNORE, Txxx, OXXX},
+ {"thetruthofthematter", LIGNORE, Txxx, OXXX},
+ {"despiteallobjections", LIGNORE, Txxx, OXXX},
+ {"whereas", LIGNORE, Txxx, OXXX},
+ {"insofaras", LIGNORE, Txxx, OXXX},
};
static void
@@ -2175,50 +2171,50 @@
char* name;
} lexn[] =
{
- LANDAND, "ANDAND",
- LANDNOT, "ANDNOT",
- LASOP, "ASOP",
- LBREAK, "BREAK",
- LCASE, "CASE",
- LCHAN, "CHAN",
- LCOLAS, "COLAS",
- LCOMM, "<-",
- LCONST, "CONST",
- LCONTINUE, "CONTINUE",
- LDDD, "...",
- LDEC, "DEC",
- LDEFAULT, "DEFAULT",
- LDEFER, "DEFER",
- LELSE, "ELSE",
- LEQ, "EQ",
- LFALL, "FALL",
- LFOR, "FOR",
- LFUNC, "FUNC",
- LGE, "GE",
- LGO, "GO",
- LGOTO, "GOTO",
- LGT, "GT",
- LIF, "IF",
- LIMPORT, "IMPORT",
- LINC, "INC",
- LINTERFACE, "INTERFACE",
- LLE, "LE",
- LLITERAL, "LITERAL",
- LLSH, "LSH",
- LLT, "LT",
- LMAP, "MAP",
- LNAME, "NAME",
- LNE, "NE",
- LOROR, "OROR",
- LPACKAGE, "PACKAGE",
- LRANGE, "RANGE",
- LRETURN, "RETURN",
- LRSH, "RSH",
- LSELECT, "SELECT",
- LSTRUCT, "STRUCT",
- LSWITCH, "SWITCH",
- LTYPE, "TYPE",
- LVAR, "VAR",
+ {LANDAND, "ANDAND"},
+ {LANDNOT, "ANDNOT"},
+ {LASOP, "ASOP"},
+ {LBREAK, "BREAK"},
+ {LCASE, "CASE"},
+ {LCHAN, "CHAN"},
+ {LCOLAS, "COLAS"},
+ {LCOMM, "<-"},
+ {LCONST, "CONST"},
+ {LCONTINUE, "CONTINUE"},
+ {LDDD, "..."},
+ {LDEC, "DEC"},
+ {LDEFAULT, "DEFAULT"},
+ {LDEFER, "DEFER"},
+ {LELSE, "ELSE"},
+ {LEQ, "EQ"},
+ {LFALL, "FALL"},
+ {LFOR, "FOR"},
+ {LFUNC, "FUNC"},
+ {LGE, "GE"},
+ {LGO, "GO"},
+ {LGOTO, "GOTO"},
+ {LGT, "GT"},
+ {LIF, "IF"},
+ {LIMPORT, "IMPORT"},
+ {LINC, "INC"},
+ {LINTERFACE, "INTERFACE"},
+ {LLE, "LE"},
+ {LLITERAL, "LITERAL"},
+ {LLSH, "LSH"},
+ {LLT, "LT"},
+ {LMAP, "MAP"},
+ {LNAME, "NAME"},
+ {LNE, "NE"},
+ {LOROR, "OROR"},
+ {LPACKAGE, "PACKAGE"},
+ {LRANGE, "RANGE"},
+ {LRETURN, "RETURN"},
+ {LRSH, "RSH"},
+ {LSELECT, "SELECT"},
+ {LSTRUCT, "STRUCT"},
+ {LSWITCH, "SWITCH"},
+ {LTYPE, "TYPE"},
+ {LVAR, "VAR"},
};
char*
@@ -2240,56 +2236,56 @@
char *want;
} yytfix[] =
{
- "$end", "EOF",
- "LLITERAL", "literal",
- "LASOP", "op=",
- "LBREAK", "break",
- "LCASE", "case",
- "LCHAN", "chan",
- "LCOLAS", ":=",
- "LCONST", "const",
- "LCONTINUE", "continue",
- "LDDD", "...",
- "LDEFAULT", "default",
- "LDEFER", "defer",
- "LELSE", "else",
- "LFALL", "fallthrough",
- "LFOR", "for",
- "LFUNC", "func",
- "LGO", "go",
- "LGOTO", "goto",
- "LIF", "if",
- "LIMPORT", "import",
- "LINTERFACE", "interface",
- "LMAP", "map",
- "LNAME", "name",
- "LPACKAGE", "package",
- "LRANGE", "range",
- "LRETURN", "return",
- "LSELECT", "select",
- "LSTRUCT", "struct",
- "LSWITCH", "switch",
- "LTYPE", "type",
- "LVAR", "var",
- "LANDAND", "&&",
- "LANDNOT", "&^",
- "LBODY", "{",
- "LCOMM", "<-",
- "LDEC", "--",
- "LINC", "++",
- "LEQ", "==",
- "LGE", ">=",
- "LGT", ">",
- "LLE", "<=",
- "LLT", "<",
- "LLSH", "<<",
- "LRSH", ">>",
- "LOROR", "||",
- "LNE", "!=",
+ {"$end", "EOF"},
+ {"LLITERAL", "literal"},
+ {"LASOP", "op="},
+ {"LBREAK", "break"},
+ {"LCASE", "case"},
+ {"LCHAN", "chan"},
+ {"LCOLAS", ":="},
+ {"LCONST", "const"},
+ {"LCONTINUE", "continue"},
+ {"LDDD", "..."},
+ {"LDEFAULT", "default"},
+ {"LDEFER", "defer"},
+ {"LELSE", "else"},
+ {"LFALL", "fallthrough"},
+ {"LFOR", "for"},
+ {"LFUNC", "func"},
+ {"LGO", "go"},
+ {"LGOTO", "goto"},
+ {"LIF", "if"},
+ {"LIMPORT", "import"},
+ {"LINTERFACE", "interface"},
+ {"LMAP", "map"},
+ {"LNAME", "name"},
+ {"LPACKAGE", "package"},
+ {"LRANGE", "range"},
+ {"LRETURN", "return"},
+ {"LSELECT", "select"},
+ {"LSTRUCT", "struct"},
+ {"LSWITCH", "switch"},
+ {"LTYPE", "type"},
+ {"LVAR", "var"},
+ {"LANDAND", "&&"},
+ {"LANDNOT", "&^"},
+ {"LBODY", "{"},
+ {"LCOMM", "<-"},
+ {"LDEC", "--"},
+ {"LINC", "++"},
+ {"LEQ", "=="},
+ {"LGE", ">="},
+ {"LGT", ">"},
+ {"LLE", "<="},
+ {"LLT", "<"},
+ {"LLSH", "<<"},
+ {"LRSH", ">>"},
+ {"LOROR", "||"},
+ {"LNE", "!="},
// spell out to avoid confusion with punctuation in error messages
- "';'", "semicolon or newline",
- "','", "comma",
+ {"';'", "semicolon or newline"},
+ {"','", "comma"},
};
static void
diff --git a/src/cmd/gc/md5.c b/src/cmd/gc/md5.c
index 0051ac9..fa66067 100644
--- a/src/cmd/gc/md5.c
+++ b/src/cmd/gc/md5.c
@@ -20,7 +20,15 @@
#define _Init1 0xEFCDAB89
#define _Init2 0x98BADCFE
#define _Init3 0x10325476
-
+/*c2go
+enum {
+ _Init0 = 0x67452301,
+ _Init1 = 0xEFCDAB89,
+ _Init2 = 0x98BADCFE,
+ _Init3 = 0x10325476
+};
+*/
+
void
md5reset(MD5 *d)
{
diff --git a/src/cmd/gc/plive.c b/src/cmd/gc/plive.c
index eb89017..4c07d6b 100644
--- a/src/cmd/gc/plive.c
+++ b/src/cmd/gc/plive.c
@@ -657,8 +657,8 @@
progeffects(Prog *prog, Array *vars, Bvec *uevar, Bvec *varkill, Bvec *avarinit)
{
ProgInfo info;
- Adr *from;
- Adr *to;
+ Addr *from;
+ Addr *to;
Node *node;
int32 i;
int32 pos;
@@ -1663,6 +1663,13 @@
// FNV-1 hash function constants.
#define H0 2166136261UL
#define Hp 16777619UL
+/*c2go
+enum
+{
+ H0 = 2166136261,
+ Hp = 16777619,
+};
+*/
static uint32
hashbitmap(uint32 h, Bvec *bv)
diff --git a/src/cmd/gc/popt.c b/src/cmd/gc/popt.c
index ea88b94..c8d60c5 100644
--- a/src/cmd/gc/popt.c
+++ b/src/cmd/gc/popt.c
@@ -98,6 +98,10 @@
*/
#define alive ((void*)0)
#define dead ((void*)1)
+/*c2go
+extern void *alive;
+extern void *dead;
+*/
/* mark all code reachable from firstp as alive */
static void
diff --git a/src/cmd/gc/subr.c b/src/cmd/gc/subr.c
index 72a9ac2..ac006f5 100644
--- a/src/cmd/gc/subr.c
+++ b/src/cmd/gc/subr.c
@@ -3445,7 +3445,7 @@
mask = 0xffffffffLL;
break;
case 64:
- mask = 0xffffffffffffffffLL;
+ mask = 0xffffffffffffffffULL;
break;
}
two31 = mask ^ (mask>>1);
@@ -3543,7 +3543,7 @@
mask = 0xffffffffLL;
break;
case 64:
- mask = 0xffffffffffffffffLL;
+ mask = 0xffffffffffffffffULL;
break;
}
two31 = mask ^ (mask>>1);
diff --git a/src/cmd/gc/swt.c b/src/cmd/gc/swt.c
index ce01905..e1d8af8 100644
--- a/src/cmd/gc/swt.c
+++ b/src/cmd/gc/swt.c
@@ -34,6 +34,7 @@
Case* link; // linked list to link
};
#define C ((Case*)nil)
+/*c2go Case *C; */
void
dumpcase(Case *c0)
diff --git a/src/cmd/gc/yerr.h b/src/cmd/gc/yerr.h
index 1526d82..fa3e9f2 100644
--- a/src/cmd/gc/yerr.h
+++ b/src/cmd/gc/yerr.h
@@ -14,66 +14,66 @@
// is converted by bisonerrors into the yystate and yychar caused
// by that token list.
- 222, ',',
- "unexpected comma during import block",
+ {222, ',',
+ "unexpected comma during import block"},
- 32, ';',
- "missing import path; require quoted string",
+ {32, ';',
+ "missing import path; require quoted string"},
- 378, ';',
- "missing { after if clause",
+ {378, ';',
+ "missing { after if clause"},
- 399, ';',
- "missing { after switch clause",
+ {399, ';',
+ "missing { after switch clause"},
- 238, ';',
- "missing { after for clause",
+ {238, ';',
+ "missing { after for clause"},
- 476, LBODY,
- "missing { after for clause",
+ {476, LBODY,
+ "missing { after for clause"},
- 22, '{',
- "unexpected semicolon or newline before {",
+ {22, '{',
+ "unexpected semicolon or newline before {"},
- 145, ';',
- "unexpected semicolon or newline in type declaration",
+ {145, ';',
+ "unexpected semicolon or newline in type declaration"},
- 37, '}',
- "unexpected } in channel type",
+ {37, '}',
+ "unexpected } in channel type"},
- 37, ')',
- "unexpected ) in channel type",
+ {37, ')',
+ "unexpected ) in channel type"},
- 37, ',',
- "unexpected comma in channel type",
+ {37, ',',
+ "unexpected comma in channel type"},
- 439, LELSE,
- "unexpected semicolon or newline before else",
+ {439, LELSE,
+ "unexpected semicolon or newline before else"},
- 258, ',',
- "name list not allowed in interface type",
+ {258, ',',
+ "name list not allowed in interface type"},
- 238, LVAR,
- "var declaration not allowed in for initializer",
+ {238, LVAR,
+ "var declaration not allowed in for initializer"},
- 65, '{',
- "unexpected { at end of statement",
+ {65, '{',
+ "unexpected { at end of statement"},
- 377, '{',
- "unexpected { at end of statement",
+ {377, '{',
+ "unexpected { at end of statement"},
- 126, ';',
- "argument to go/defer must be function call",
+ {126, ';',
+ "argument to go/defer must be function call"},
- 426, ';',
- "need trailing comma before newline in composite literal",
+ {426, ';',
+ "need trailing comma before newline in composite literal"},
- 437, ';',
- "need trailing comma before newline in composite literal",
+ {437, ';',
+ "need trailing comma before newline in composite literal"},
- 113, LNAME,
- "nested func not allowed",
+ {113, LNAME,
+ "nested func not allowed"},
- 645, ';',
- "else must be followed by if or statement block"
+ {645, ';',
+ "else must be followed by if or statement block"}
};
diff --git a/src/cmd/ld/textflag.h b/src/cmd/ld/textflag.h
index 2a76e76..0ee8b5f 100644
--- a/src/cmd/ld/textflag.h
+++ b/src/cmd/ld/textflag.h
@@ -21,3 +21,16 @@
#define WRAPPER 32
// This function uses its incoming context register.
#define NEEDCTXT 64
+
+/*c2go
+enum
+{
+ NOPROF = 1,
+ DUPOK = 2,
+ NOSPLIT = 4,
+ RODATA = 8,
+ NOPTR = 16,
+ WRAPPER = 32,
+ NEEDCTXT = 64,
+};
+*/
diff --git a/src/liblink/asm5.c b/src/liblink/asm5.c
index 2d08480..56dc6eb 100644
--- a/src/liblink/asm5.c
+++ b/src/liblink/asm5.c
@@ -43,7 +43,7 @@
struct Optab
{
- char as;
+ uchar as;
uchar a1;
char a2;
uchar a3;
@@ -2038,64 +2038,6 @@
out[4] = o5;
out[5] = o6;
return;
-
-#ifdef NOTDEF
- v = p->pc;
- switch(o->size) {
- default:
- if(debug['a'])
- Bprint(&bso, " %.8ux:\t\t%P\n", v, p);
- break;
- case 4:
- if(debug['a'])
- Bprint(&bso, " %.8ux: %.8ux\t%P\n", v, o1, p);
- lputl(o1);
- break;
- case 8:
- if(debug['a'])
- Bprint(&bso, " %.8ux: %.8ux %.8ux%P\n", v, o1, o2, p);
- lputl(o1);
- lputl(o2);
- break;
- case 12:
- if(debug['a'])
- Bprint(&bso, " %.8ux: %.8ux %.8ux %.8ux%P\n", v, o1, o2, o3, p);
- lputl(o1);
- lputl(o2);
- lputl(o3);
- break;
- case 16:
- if(debug['a'])
- Bprint(&bso, " %.8ux: %.8ux %.8ux %.8ux %.8ux%P\n",
- v, o1, o2, o3, o4, p);
- lputl(o1);
- lputl(o2);
- lputl(o3);
- lputl(o4);
- break;
- case 20:
- if(debug['a'])
- Bprint(&bso, " %.8ux: %.8ux %.8ux %.8ux %.8ux %.8ux%P\n",
- v, o1, o2, o3, o4, o5, p);
- lputl(o1);
- lputl(o2);
- lputl(o3);
- lputl(o4);
- lputl(o5);
- break;
- case 24:
- if(debug['a'])
- Bprint(&bso, " %.8ux: %.8ux %.8ux %.8ux %.8ux %.8ux %.8ux%P\n",
- v, o1, o2, o3, o4, o5, o6, p);
- lputl(o1);
- lputl(o2);
- lputl(o3);
- lputl(o4);
- lputl(o5);
- lputl(o6);
- break;
- }
-#endif
}
static int32
diff --git a/src/liblink/asm6.c b/src/liblink/asm6.c
index 751c972..b0d44e1 100644
--- a/src/liblink/asm6.c
+++ b/src/liblink/asm6.c
@@ -821,717 +821,717 @@
* encoded addressing mode for the Yml arg), and then a single immediate byte.
* Zilo_m is the same but a long (32-bit) immediate.
*/
-Optab optab[] =
+static Optab optab[] =
/* as, ytab, andproto, opcode */
{
{ AXXX },
- { AAAA, ynone, P32, 0x37 },
- { AAAD, ynone, P32, 0xd5,0x0a },
- { AAAM, ynone, P32, 0xd4,0x0a },
- { AAAS, ynone, P32, 0x3f },
- { AADCB, yxorb, Pb, 0x14,0x80,(02),0x10,0x10 },
- { AADCL, yxorl, Px, 0x83,(02),0x15,0x81,(02),0x11,0x13 },
- { AADCQ, yxorl, Pw, 0x83,(02),0x15,0x81,(02),0x11,0x13 },
- { AADCW, yxorl, Pe, 0x83,(02),0x15,0x81,(02),0x11,0x13 },
- { AADDB, yxorb, Pb, 0x04,0x80,(00),0x00,0x02 },
- { AADDL, yaddl, Px, 0x83,(00),0x05,0x81,(00),0x01,0x03 },
- { AADDPD, yxm, Pq, 0x58 },
- { AADDPS, yxm, Pm, 0x58 },
- { AADDQ, yaddl, Pw, 0x83,(00),0x05,0x81,(00),0x01,0x03 },
- { AADDSD, yxm, Pf2, 0x58 },
- { AADDSS, yxm, Pf3, 0x58 },
- { AADDW, yaddl, Pe, 0x83,(00),0x05,0x81,(00),0x01,0x03 },
+ { AAAA, ynone, P32, {0x37} },
+ { AAAD, ynone, P32, {0xd5,0x0a} },
+ { AAAM, ynone, P32, {0xd4,0x0a} },
+ { AAAS, ynone, P32, {0x3f} },
+ { AADCB, yxorb, Pb, {0x14,0x80,(02),0x10,0x10} },
+ { AADCL, yxorl, Px, {0x83,(02),0x15,0x81,(02),0x11,0x13} },
+ { AADCQ, yxorl, Pw, {0x83,(02),0x15,0x81,(02),0x11,0x13} },
+ { AADCW, yxorl, Pe, {0x83,(02),0x15,0x81,(02),0x11,0x13} },
+ { AADDB, yxorb, Pb, {0x04,0x80,(00),0x00,0x02} },
+ { AADDL, yaddl, Px, {0x83,(00),0x05,0x81,(00),0x01,0x03} },
+ { AADDPD, yxm, Pq, {0x58} },
+ { AADDPS, yxm, Pm, {0x58} },
+ { AADDQ, yaddl, Pw, {0x83,(00),0x05,0x81,(00),0x01,0x03} },
+ { AADDSD, yxm, Pf2, {0x58} },
+ { AADDSS, yxm, Pf3, {0x58} },
+ { AADDW, yaddl, Pe, {0x83,(00),0x05,0x81,(00),0x01,0x03} },
{ AADJSP },
- { AANDB, yxorb, Pb, 0x24,0x80,(04),0x20,0x22 },
- { AANDL, yxorl, Px, 0x83,(04),0x25,0x81,(04),0x21,0x23 },
- { AANDNPD, yxm, Pq, 0x55 },
- { AANDNPS, yxm, Pm, 0x55 },
- { AANDPD, yxm, Pq, 0x54 },
- { AANDPS, yxm, Pq, 0x54 },
- { AANDQ, yxorl, Pw, 0x83,(04),0x25,0x81,(04),0x21,0x23 },
- { AANDW, yxorl, Pe, 0x83,(04),0x25,0x81,(04),0x21,0x23 },
- { AARPL, yrl_ml, P32, 0x63 },
- { ABOUNDL, yrl_m, P32, 0x62 },
- { ABOUNDW, yrl_m, Pe, 0x62 },
- { ABSFL, yml_rl, Pm, 0xbc },
- { ABSFQ, yml_rl, Pw, 0x0f,0xbc },
- { ABSFW, yml_rl, Pq, 0xbc },
- { ABSRL, yml_rl, Pm, 0xbd },
- { ABSRQ, yml_rl, Pw, 0x0f,0xbd },
- { ABSRW, yml_rl, Pq, 0xbd },
- { ABSWAPL, ybswap, Px, 0x0f,0xc8 },
- { ABSWAPQ, ybswap, Pw, 0x0f,0xc8 },
- { ABTCL, ybtl, Pm, 0xba,(07),0xbb },
- { ABTCQ, ybtl, Pw, 0x0f,0xba,(07),0x0f,0xbb },
- { ABTCW, ybtl, Pq, 0xba,(07),0xbb },
- { ABTL, ybtl, Pm, 0xba,(04),0xa3 },
- { ABTQ, ybtl, Pw, 0x0f,0xba,(04),0x0f,0xa3},
- { ABTRL, ybtl, Pm, 0xba,(06),0xb3 },
- { ABTRQ, ybtl, Pw, 0x0f,0xba,(06),0x0f,0xb3 },
- { ABTRW, ybtl, Pq, 0xba,(06),0xb3 },
- { ABTSL, ybtl, Pm, 0xba,(05),0xab },
- { ABTSQ, ybtl, Pw, 0x0f,0xba,(05),0x0f,0xab },
- { ABTSW, ybtl, Pq, 0xba,(05),0xab },
- { ABTW, ybtl, Pq, 0xba,(04),0xa3 },
- { ABYTE, ybyte, Px, 1 },
- { ACALL, ycall, Px, 0xff,(02),0xe8 },
- { ACDQ, ynone, Px, 0x99 },
- { ACLC, ynone, Px, 0xf8 },
- { ACLD, ynone, Px, 0xfc },
- { ACLI, ynone, Px, 0xfa },
- { ACLTS, ynone, Pm, 0x06 },
- { ACMC, ynone, Px, 0xf5 },
- { ACMOVLCC, yml_rl, Pm, 0x43 },
- { ACMOVLCS, yml_rl, Pm, 0x42 },
- { ACMOVLEQ, yml_rl, Pm, 0x44 },
- { ACMOVLGE, yml_rl, Pm, 0x4d },
- { ACMOVLGT, yml_rl, Pm, 0x4f },
- { ACMOVLHI, yml_rl, Pm, 0x47 },
- { ACMOVLLE, yml_rl, Pm, 0x4e },
- { ACMOVLLS, yml_rl, Pm, 0x46 },
- { ACMOVLLT, yml_rl, Pm, 0x4c },
- { ACMOVLMI, yml_rl, Pm, 0x48 },
- { ACMOVLNE, yml_rl, Pm, 0x45 },
- { ACMOVLOC, yml_rl, Pm, 0x41 },
- { ACMOVLOS, yml_rl, Pm, 0x40 },
- { ACMOVLPC, yml_rl, Pm, 0x4b },
- { ACMOVLPL, yml_rl, Pm, 0x49 },
- { ACMOVLPS, yml_rl, Pm, 0x4a },
- { ACMOVQCC, yml_rl, Pw, 0x0f,0x43 },
- { ACMOVQCS, yml_rl, Pw, 0x0f,0x42 },
- { ACMOVQEQ, yml_rl, Pw, 0x0f,0x44 },
- { ACMOVQGE, yml_rl, Pw, 0x0f,0x4d },
- { ACMOVQGT, yml_rl, Pw, 0x0f,0x4f },
- { ACMOVQHI, yml_rl, Pw, 0x0f,0x47 },
- { ACMOVQLE, yml_rl, Pw, 0x0f,0x4e },
- { ACMOVQLS, yml_rl, Pw, 0x0f,0x46 },
- { ACMOVQLT, yml_rl, Pw, 0x0f,0x4c },
- { ACMOVQMI, yml_rl, Pw, 0x0f,0x48 },
- { ACMOVQNE, yml_rl, Pw, 0x0f,0x45 },
- { ACMOVQOC, yml_rl, Pw, 0x0f,0x41 },
- { ACMOVQOS, yml_rl, Pw, 0x0f,0x40 },
- { ACMOVQPC, yml_rl, Pw, 0x0f,0x4b },
- { ACMOVQPL, yml_rl, Pw, 0x0f,0x49 },
- { ACMOVQPS, yml_rl, Pw, 0x0f,0x4a },
- { ACMOVWCC, yml_rl, Pq, 0x43 },
- { ACMOVWCS, yml_rl, Pq, 0x42 },
- { ACMOVWEQ, yml_rl, Pq, 0x44 },
- { ACMOVWGE, yml_rl, Pq, 0x4d },
- { ACMOVWGT, yml_rl, Pq, 0x4f },
- { ACMOVWHI, yml_rl, Pq, 0x47 },
- { ACMOVWLE, yml_rl, Pq, 0x4e },
- { ACMOVWLS, yml_rl, Pq, 0x46 },
- { ACMOVWLT, yml_rl, Pq, 0x4c },
- { ACMOVWMI, yml_rl, Pq, 0x48 },
- { ACMOVWNE, yml_rl, Pq, 0x45 },
- { ACMOVWOC, yml_rl, Pq, 0x41 },
- { ACMOVWOS, yml_rl, Pq, 0x40 },
- { ACMOVWPC, yml_rl, Pq, 0x4b },
- { ACMOVWPL, yml_rl, Pq, 0x49 },
- { ACMOVWPS, yml_rl, Pq, 0x4a },
- { ACMPB, ycmpb, Pb, 0x3c,0x80,(07),0x38,0x3a },
- { ACMPL, ycmpl, Px, 0x83,(07),0x3d,0x81,(07),0x39,0x3b },
- { ACMPPD, yxcmpi, Px, Pe,0xc2 },
- { ACMPPS, yxcmpi, Pm, 0xc2,0 },
- { ACMPQ, ycmpl, Pw, 0x83,(07),0x3d,0x81,(07),0x39,0x3b },
- { ACMPSB, ynone, Pb, 0xa6 },
- { ACMPSD, yxcmpi, Px, Pf2,0xc2 },
- { ACMPSL, ynone, Px, 0xa7 },
- { ACMPSQ, ynone, Pw, 0xa7 },
- { ACMPSS, yxcmpi, Px, Pf3,0xc2 },
- { ACMPSW, ynone, Pe, 0xa7 },
- { ACMPW, ycmpl, Pe, 0x83,(07),0x3d,0x81,(07),0x39,0x3b },
- { ACOMISD, yxcmp, Pe, 0x2f },
- { ACOMISS, yxcmp, Pm, 0x2f },
- { ACPUID, ynone, Pm, 0xa2 },
- { ACVTPL2PD, yxcvm2, Px, Pf3,0xe6,Pe,0x2a },
- { ACVTPL2PS, yxcvm2, Pm, 0x5b,0,0x2a,0, },
- { ACVTPD2PL, yxcvm1, Px, Pf2,0xe6,Pe,0x2d },
- { ACVTPD2PS, yxm, Pe, 0x5a },
- { ACVTPS2PL, yxcvm1, Px, Pe,0x5b,Pm,0x2d },
- { ACVTPS2PD, yxm, Pm, 0x5a },
- { API2FW, ymfp, Px, 0x0c },
- { ACVTSD2SL, yxcvfl, Pf2, 0x2d },
- { ACVTSD2SQ, yxcvfq, Pw, Pf2,0x2d },
- { ACVTSD2SS, yxm, Pf2, 0x5a },
- { ACVTSL2SD, yxcvlf, Pf2, 0x2a },
- { ACVTSQ2SD, yxcvqf, Pw, Pf2,0x2a },
- { ACVTSL2SS, yxcvlf, Pf3, 0x2a },
- { ACVTSQ2SS, yxcvqf, Pw, Pf3,0x2a },
- { ACVTSS2SD, yxm, Pf3, 0x5a },
- { ACVTSS2SL, yxcvfl, Pf3, 0x2d },
- { ACVTSS2SQ, yxcvfq, Pw, Pf3,0x2d },
- { ACVTTPD2PL, yxcvm1, Px, Pe,0xe6,Pe,0x2c },
- { ACVTTPS2PL, yxcvm1, Px, Pf3,0x5b,Pm,0x2c },
- { ACVTTSD2SL, yxcvfl, Pf2, 0x2c },
- { ACVTTSD2SQ, yxcvfq, Pw, Pf2,0x2c },
- { ACVTTSS2SL, yxcvfl, Pf3, 0x2c },
- { ACVTTSS2SQ, yxcvfq, Pw, Pf3,0x2c },
- { ACWD, ynone, Pe, 0x99 },
- { ACQO, ynone, Pw, 0x99 },
- { ADAA, ynone, P32, 0x27 },
- { ADAS, ynone, P32, 0x2f },
+ { AANDB, yxorb, Pb, {0x24,0x80,(04),0x20,0x22} },
+ { AANDL, yxorl, Px, {0x83,(04),0x25,0x81,(04),0x21,0x23} },
+ { AANDNPD, yxm, Pq, {0x55} },
+ { AANDNPS, yxm, Pm, {0x55} },
+ { AANDPD, yxm, Pq, {0x54} },
+ { AANDPS, yxm, Pq, {0x54} },
+ { AANDQ, yxorl, Pw, {0x83,(04),0x25,0x81,(04),0x21,0x23} },
+ { AANDW, yxorl, Pe, {0x83,(04),0x25,0x81,(04),0x21,0x23} },
+ { AARPL, yrl_ml, P32, {0x63} },
+ { ABOUNDL, yrl_m, P32, {0x62} },
+ { ABOUNDW, yrl_m, Pe, {0x62} },
+ { ABSFL, yml_rl, Pm, {0xbc} },
+ { ABSFQ, yml_rl, Pw, {0x0f,0xbc} },
+ { ABSFW, yml_rl, Pq, {0xbc} },
+ { ABSRL, yml_rl, Pm, {0xbd} },
+ { ABSRQ, yml_rl, Pw, {0x0f,0xbd} },
+ { ABSRW, yml_rl, Pq, {0xbd} },
+ { ABSWAPL, ybswap, Px, {0x0f,0xc8} },
+ { ABSWAPQ, ybswap, Pw, {0x0f,0xc8} },
+ { ABTCL, ybtl, Pm, {0xba,(07),0xbb} },
+ { ABTCQ, ybtl, Pw, {0x0f,0xba,(07),0x0f,0xbb} },
+ { ABTCW, ybtl, Pq, {0xba,(07),0xbb} },
+ { ABTL, ybtl, Pm, {0xba,(04),0xa3} },
+ { ABTQ, ybtl, Pw, {0x0f,0xba,(04),0x0f,0xa3}},
+ { ABTRL, ybtl, Pm, {0xba,(06),0xb3} },
+ { ABTRQ, ybtl, Pw, {0x0f,0xba,(06),0x0f,0xb3} },
+ { ABTRW, ybtl, Pq, {0xba,(06),0xb3} },
+ { ABTSL, ybtl, Pm, {0xba,(05),0xab } },
+ { ABTSQ, ybtl, Pw, {0x0f,0xba,(05),0x0f,0xab} },
+ { ABTSW, ybtl, Pq, {0xba,(05),0xab } },
+ { ABTW, ybtl, Pq, {0xba,(04),0xa3} },
+ { ABYTE, ybyte, Px, {1} },
+ { ACALL, ycall, Px, {0xff,(02),0xe8} },
+ { ACDQ, ynone, Px, {0x99} },
+ { ACLC, ynone, Px, {0xf8} },
+ { ACLD, ynone, Px, {0xfc} },
+ { ACLI, ynone, Px, {0xfa} },
+ { ACLTS, ynone, Pm, {0x06} },
+ { ACMC, ynone, Px, {0xf5} },
+ { ACMOVLCC, yml_rl, Pm, {0x43} },
+ { ACMOVLCS, yml_rl, Pm, {0x42} },
+ { ACMOVLEQ, yml_rl, Pm, {0x44} },
+ { ACMOVLGE, yml_rl, Pm, {0x4d} },
+ { ACMOVLGT, yml_rl, Pm, {0x4f} },
+ { ACMOVLHI, yml_rl, Pm, {0x47} },
+ { ACMOVLLE, yml_rl, Pm, {0x4e} },
+ { ACMOVLLS, yml_rl, Pm, {0x46} },
+ { ACMOVLLT, yml_rl, Pm, {0x4c} },
+ { ACMOVLMI, yml_rl, Pm, {0x48} },
+ { ACMOVLNE, yml_rl, Pm, {0x45} },
+ { ACMOVLOC, yml_rl, Pm, {0x41} },
+ { ACMOVLOS, yml_rl, Pm, {0x40} },
+ { ACMOVLPC, yml_rl, Pm, {0x4b} },
+ { ACMOVLPL, yml_rl, Pm, {0x49} },
+ { ACMOVLPS, yml_rl, Pm, {0x4a} },
+ { ACMOVQCC, yml_rl, Pw, {0x0f,0x43} },
+ { ACMOVQCS, yml_rl, Pw, {0x0f,0x42} },
+ { ACMOVQEQ, yml_rl, Pw, {0x0f,0x44} },
+ { ACMOVQGE, yml_rl, Pw, {0x0f,0x4d} },
+ { ACMOVQGT, yml_rl, Pw, {0x0f,0x4f} },
+ { ACMOVQHI, yml_rl, Pw, {0x0f,0x47} },
+ { ACMOVQLE, yml_rl, Pw, {0x0f,0x4e} },
+ { ACMOVQLS, yml_rl, Pw, {0x0f,0x46} },
+ { ACMOVQLT, yml_rl, Pw, {0x0f,0x4c} },
+ { ACMOVQMI, yml_rl, Pw, {0x0f,0x48} },
+ { ACMOVQNE, yml_rl, Pw, {0x0f,0x45} },
+ { ACMOVQOC, yml_rl, Pw, {0x0f,0x41} },
+ { ACMOVQOS, yml_rl, Pw, {0x0f,0x40} },
+ { ACMOVQPC, yml_rl, Pw, {0x0f,0x4b} },
+ { ACMOVQPL, yml_rl, Pw, {0x0f,0x49} },
+ { ACMOVQPS, yml_rl, Pw, {0x0f,0x4a} },
+ { ACMOVWCC, yml_rl, Pq, {0x43} },
+ { ACMOVWCS, yml_rl, Pq, {0x42} },
+ { ACMOVWEQ, yml_rl, Pq, {0x44} },
+ { ACMOVWGE, yml_rl, Pq, {0x4d} },
+ { ACMOVWGT, yml_rl, Pq, {0x4f} },
+ { ACMOVWHI, yml_rl, Pq, {0x47} },
+ { ACMOVWLE, yml_rl, Pq, {0x4e} },
+ { ACMOVWLS, yml_rl, Pq, {0x46} },
+ { ACMOVWLT, yml_rl, Pq, {0x4c} },
+ { ACMOVWMI, yml_rl, Pq, {0x48} },
+ { ACMOVWNE, yml_rl, Pq, {0x45} },
+ { ACMOVWOC, yml_rl, Pq, {0x41} },
+ { ACMOVWOS, yml_rl, Pq, {0x40} },
+ { ACMOVWPC, yml_rl, Pq, {0x4b} },
+ { ACMOVWPL, yml_rl, Pq, {0x49} },
+ { ACMOVWPS, yml_rl, Pq, {0x4a} },
+ { ACMPB, ycmpb, Pb, {0x3c,0x80,(07),0x38,0x3a} },
+ { ACMPL, ycmpl, Px, {0x83,(07),0x3d,0x81,(07),0x39,0x3b} },
+ { ACMPPD, yxcmpi, Px, {Pe,0xc2} },
+ { ACMPPS, yxcmpi, Pm, {0xc2,0} },
+ { ACMPQ, ycmpl, Pw, {0x83,(07),0x3d,0x81,(07),0x39,0x3b} },
+ { ACMPSB, ynone, Pb, {0xa6} },
+ { ACMPSD, yxcmpi, Px, {Pf2,0xc2} },
+ { ACMPSL, ynone, Px, {0xa7} },
+ { ACMPSQ, ynone, Pw, {0xa7} },
+ { ACMPSS, yxcmpi, Px, {Pf3,0xc2} },
+ { ACMPSW, ynone, Pe, {0xa7} },
+ { ACMPW, ycmpl, Pe, {0x83,(07),0x3d,0x81,(07),0x39,0x3b} },
+ { ACOMISD, yxcmp, Pe, {0x2f} },
+ { ACOMISS, yxcmp, Pm, {0x2f} },
+ { ACPUID, ynone, Pm, {0xa2} },
+ { ACVTPL2PD, yxcvm2, Px, {Pf3,0xe6,Pe,0x2a} },
+ { ACVTPL2PS, yxcvm2, Pm, {0x5b,0,0x2a,0,} },
+ { ACVTPD2PL, yxcvm1, Px, {Pf2,0xe6,Pe,0x2d} },
+ { ACVTPD2PS, yxm, Pe, {0x5a} },
+ { ACVTPS2PL, yxcvm1, Px, {Pe,0x5b,Pm,0x2d} },
+ { ACVTPS2PD, yxm, Pm, {0x5a} },
+ { API2FW, ymfp, Px, {0x0c} },
+ { ACVTSD2SL, yxcvfl, Pf2, {0x2d} },
+ { ACVTSD2SQ, yxcvfq, Pw, {Pf2,0x2d} },
+ { ACVTSD2SS, yxm, Pf2, {0x5a} },
+ { ACVTSL2SD, yxcvlf, Pf2, {0x2a} },
+ { ACVTSQ2SD, yxcvqf, Pw, {Pf2,0x2a} },
+ { ACVTSL2SS, yxcvlf, Pf3, {0x2a} },
+ { ACVTSQ2SS, yxcvqf, Pw, {Pf3,0x2a} },
+ { ACVTSS2SD, yxm, Pf3, {0x5a} },
+ { ACVTSS2SL, yxcvfl, Pf3, {0x2d} },
+ { ACVTSS2SQ, yxcvfq, Pw, {Pf3,0x2d} },
+ { ACVTTPD2PL, yxcvm1, Px, {Pe,0xe6,Pe,0x2c} },
+ { ACVTTPS2PL, yxcvm1, Px, {Pf3,0x5b,Pm,0x2c} },
+ { ACVTTSD2SL, yxcvfl, Pf2, {0x2c} },
+ { ACVTTSD2SQ, yxcvfq, Pw, {Pf2,0x2c} },
+ { ACVTTSS2SL, yxcvfl, Pf3, {0x2c} },
+ { ACVTTSS2SQ, yxcvfq, Pw, {Pf3,0x2c} },
+ { ACWD, ynone, Pe, {0x99} },
+ { ACQO, ynone, Pw, {0x99} },
+ { ADAA, ynone, P32, {0x27} },
+ { ADAS, ynone, P32, {0x2f} },
{ ADATA },
- { ADECB, yincb, Pb, 0xfe,(01) },
- { ADECL, yincl, Px, 0xff,(01) },
- { ADECQ, yincl, Pw, 0xff,(01) },
- { ADECW, yincw, Pe, 0xff,(01) },
- { ADIVB, ydivb, Pb, 0xf6,(06) },
- { ADIVL, ydivl, Px, 0xf7,(06) },
- { ADIVPD, yxm, Pe, 0x5e },
- { ADIVPS, yxm, Pm, 0x5e },
- { ADIVQ, ydivl, Pw, 0xf7,(06) },
- { ADIVSD, yxm, Pf2, 0x5e },
- { ADIVSS, yxm, Pf3, 0x5e },
- { ADIVW, ydivl, Pe, 0xf7,(06) },
- { AEMMS, ynone, Pm, 0x77 },
+ { ADECB, yincb, Pb, {0xfe,(01)} },
+ { ADECL, yincl, Px, {0xff,(01)} },
+ { ADECQ, yincl, Pw, {0xff,(01)} },
+ { ADECW, yincw, Pe, {0xff,(01)} },
+ { ADIVB, ydivb, Pb, {0xf6,(06)} },
+ { ADIVL, ydivl, Px, {0xf7,(06)} },
+ { ADIVPD, yxm, Pe, {0x5e} },
+ { ADIVPS, yxm, Pm, {0x5e} },
+ { ADIVQ, ydivl, Pw, {0xf7,(06)} },
+ { ADIVSD, yxm, Pf2, {0x5e} },
+ { ADIVSS, yxm, Pf3, {0x5e} },
+ { ADIVW, ydivl, Pe, {0xf7,(06)} },
+ { AEMMS, ynone, Pm, {0x77} },
{ AENTER }, /* botch */
- { AFXRSTOR, ysvrs, Pm, 0xae,(01),0xae,(01) },
- { AFXSAVE, ysvrs, Pm, 0xae,(00),0xae,(00) },
- { AFXRSTOR64, ysvrs, Pw, 0x0f,0xae,(01),0x0f,0xae,(01) },
- { AFXSAVE64, ysvrs, Pw, 0x0f,0xae,(00),0x0f,0xae,(00) },
+ { AFXRSTOR, ysvrs, Pm, {0xae,(01),0xae,(01)} },
+ { AFXSAVE, ysvrs, Pm, {0xae,(00),0xae,(00)} },
+ { AFXRSTOR64, ysvrs, Pw, {0x0f,0xae,(01),0x0f,0xae,(01)} },
+ { AFXSAVE64, ysvrs, Pw, {0x0f,0xae,(00),0x0f,0xae,(00)} },
{ AGLOBL },
{ AGOK },
{ AHISTORY },
- { AHLT, ynone, Px, 0xf4 },
- { AIDIVB, ydivb, Pb, 0xf6,(07) },
- { AIDIVL, ydivl, Px, 0xf7,(07) },
- { AIDIVQ, ydivl, Pw, 0xf7,(07) },
- { AIDIVW, ydivl, Pe, 0xf7,(07) },
- { AIMULB, ydivb, Pb, 0xf6,(05) },
- { AIMULL, yimul, Px, 0xf7,(05),0x6b,0x69,Pm,0xaf },
- { AIMULQ, yimul, Pw, 0xf7,(05),0x6b,0x69,Pm,0xaf },
- { AIMULW, yimul, Pe, 0xf7,(05),0x6b,0x69,Pm,0xaf },
- { AIMUL3Q, yimul3, Pw, 0x6b,(00) },
- { AINB, yin, Pb, 0xe4,0xec },
- { AINCB, yincb, Pb, 0xfe,(00) },
- { AINCL, yincl, Px, 0xff,(00) },
- { AINCQ, yincl, Pw, 0xff,(00) },
- { AINCW, yincw, Pe, 0xff,(00) },
- { AINL, yin, Px, 0xe5,0xed },
- { AINSB, ynone, Pb, 0x6c },
- { AINSL, ynone, Px, 0x6d },
- { AINSW, ynone, Pe, 0x6d },
- { AINT, yint, Px, 0xcd },
- { AINTO, ynone, P32, 0xce },
- { AINW, yin, Pe, 0xe5,0xed },
- { AIRETL, ynone, Px, 0xcf },
- { AIRETQ, ynone, Pw, 0xcf },
- { AIRETW, ynone, Pe, 0xcf },
- { AJCC, yjcond, Px, 0x73,0x83,(00) },
- { AJCS, yjcond, Px, 0x72,0x82 },
- { AJCXZL, yloop, Px, 0xe3 },
- { AJCXZQ, yloop, Px, 0xe3 },
- { AJEQ, yjcond, Px, 0x74,0x84 },
- { AJGE, yjcond, Px, 0x7d,0x8d },
- { AJGT, yjcond, Px, 0x7f,0x8f },
- { AJHI, yjcond, Px, 0x77,0x87 },
- { AJLE, yjcond, Px, 0x7e,0x8e },
- { AJLS, yjcond, Px, 0x76,0x86 },
- { AJLT, yjcond, Px, 0x7c,0x8c },
- { AJMI, yjcond, Px, 0x78,0x88 },
- { AJMP, yjmp, Px, 0xff,(04),0xeb,0xe9 },
- { AJNE, yjcond, Px, 0x75,0x85 },
- { AJOC, yjcond, Px, 0x71,0x81,(00) },
- { AJOS, yjcond, Px, 0x70,0x80,(00) },
- { AJPC, yjcond, Px, 0x7b,0x8b },
- { AJPL, yjcond, Px, 0x79,0x89 },
- { AJPS, yjcond, Px, 0x7a,0x8a },
- { ALAHF, ynone, Px, 0x9f },
- { ALARL, yml_rl, Pm, 0x02 },
- { ALARW, yml_rl, Pq, 0x02 },
- { ALDMXCSR, ysvrs, Pm, 0xae,(02),0xae,(02) },
- { ALEAL, ym_rl, Px, 0x8d },
- { ALEAQ, ym_rl, Pw, 0x8d },
- { ALEAVEL, ynone, P32, 0xc9 },
- { ALEAVEQ, ynone, Py, 0xc9 },
- { ALEAVEW, ynone, Pe, 0xc9 },
- { ALEAW, ym_rl, Pe, 0x8d },
- { ALOCK, ynone, Px, 0xf0 },
- { ALODSB, ynone, Pb, 0xac },
- { ALODSL, ynone, Px, 0xad },
- { ALODSQ, ynone, Pw, 0xad },
- { ALODSW, ynone, Pe, 0xad },
- { ALONG, ybyte, Px, 4 },
- { ALOOP, yloop, Px, 0xe2 },
- { ALOOPEQ, yloop, Px, 0xe1 },
- { ALOOPNE, yloop, Px, 0xe0 },
- { ALSLL, yml_rl, Pm, 0x03 },
- { ALSLW, yml_rl, Pq, 0x03 },
- { AMASKMOVOU, yxr, Pe, 0xf7 },
- { AMASKMOVQ, ymr, Pm, 0xf7 },
- { AMAXPD, yxm, Pe, 0x5f },
- { AMAXPS, yxm, Pm, 0x5f },
- { AMAXSD, yxm, Pf2, 0x5f },
- { AMAXSS, yxm, Pf3, 0x5f },
- { AMINPD, yxm, Pe, 0x5d },
- { AMINPS, yxm, Pm, 0x5d },
- { AMINSD, yxm, Pf2, 0x5d },
- { AMINSS, yxm, Pf3, 0x5d },
- { AMOVAPD, yxmov, Pe, 0x28,0x29 },
- { AMOVAPS, yxmov, Pm, 0x28,0x29 },
- { AMOVB, ymovb, Pb, 0x88,0x8a,0xb0,0xc6,(00) },
- { AMOVBLSX, ymb_rl, Pm, 0xbe },
- { AMOVBLZX, ymb_rl, Pm, 0xb6 },
- { AMOVBQSX, ymb_rl, Pw, 0x0f,0xbe },
- { AMOVBQZX, ymb_rl, Pw, 0x0f,0xb6 },
- { AMOVBWSX, ymb_rl, Pq, 0xbe },
- { AMOVBWZX, ymb_rl, Pq, 0xb6 },
- { AMOVO, yxmov, Pe, 0x6f,0x7f },
- { AMOVOU, yxmov, Pf3, 0x6f,0x7f },
- { AMOVHLPS, yxr, Pm, 0x12 },
- { AMOVHPD, yxmov, Pe, 0x16,0x17 },
- { AMOVHPS, yxmov, Pm, 0x16,0x17 },
- { AMOVL, ymovl, Px, 0x89,0x8b,0x31,0xb8,0xc7,(00),0x6e,0x7e,Pe,0x6e,Pe,0x7e,0 },
- { AMOVLHPS, yxr, Pm, 0x16 },
- { AMOVLPD, yxmov, Pe, 0x12,0x13 },
- { AMOVLPS, yxmov, Pm, 0x12,0x13 },
- { AMOVLQSX, yml_rl, Pw, 0x63 },
- { AMOVLQZX, yml_rl, Px, 0x8b },
- { AMOVMSKPD, yxrrl, Pq, 0x50 },
- { AMOVMSKPS, yxrrl, Pm, 0x50 },
- { AMOVNTO, yxr_ml, Pe, 0xe7 },
- { AMOVNTPD, yxr_ml, Pe, 0x2b },
- { AMOVNTPS, yxr_ml, Pm, 0x2b },
- { AMOVNTQ, ymr_ml, Pm, 0xe7 },
- { AMOVQ, ymovq, Pw, 0x89, 0x8b, 0x31, 0xc7,(00), 0xb8, 0xc7,(00), 0x6f, 0x7f, 0x6e, 0x7e, Pf2,0xd6, Pf3,0x7e, Pe,0xd6, Pe,0x6e, Pe,0x7e,0 },
- { AMOVQOZX, ymrxr, Pf3, 0xd6,0x7e },
- { AMOVSB, ynone, Pb, 0xa4 },
- { AMOVSD, yxmov, Pf2, 0x10,0x11 },
- { AMOVSL, ynone, Px, 0xa5 },
- { AMOVSQ, ynone, Pw, 0xa5 },
- { AMOVSS, yxmov, Pf3, 0x10,0x11 },
- { AMOVSW, ynone, Pe, 0xa5 },
- { AMOVUPD, yxmov, Pe, 0x10,0x11 },
- { AMOVUPS, yxmov, Pm, 0x10,0x11 },
- { AMOVW, ymovw, Pe, 0x89,0x8b,0x31,0xb8,0xc7,(00),0 },
- { AMOVWLSX, yml_rl, Pm, 0xbf },
- { AMOVWLZX, yml_rl, Pm, 0xb7 },
- { AMOVWQSX, yml_rl, Pw, 0x0f,0xbf },
- { AMOVWQZX, yml_rl, Pw, 0x0f,0xb7 },
- { AMULB, ydivb, Pb, 0xf6,(04) },
- { AMULL, ydivl, Px, 0xf7,(04) },
- { AMULPD, yxm, Pe, 0x59 },
- { AMULPS, yxm, Ym, 0x59 },
- { AMULQ, ydivl, Pw, 0xf7,(04) },
- { AMULSD, yxm, Pf2, 0x59 },
- { AMULSS, yxm, Pf3, 0x59 },
- { AMULW, ydivl, Pe, 0xf7,(04) },
+ { AHLT, ynone, Px, {0xf4} },
+ { AIDIVB, ydivb, Pb, {0xf6,(07)} },
+ { AIDIVL, ydivl, Px, {0xf7,(07)} },
+ { AIDIVQ, ydivl, Pw, {0xf7,(07)} },
+ { AIDIVW, ydivl, Pe, {0xf7,(07)} },
+ { AIMULB, ydivb, Pb, {0xf6,(05)} },
+ { AIMULL, yimul, Px, {0xf7,(05),0x6b,0x69,Pm,0xaf} },
+ { AIMULQ, yimul, Pw, {0xf7,(05),0x6b,0x69,Pm,0xaf} },
+ { AIMULW, yimul, Pe, {0xf7,(05),0x6b,0x69,Pm,0xaf} },
+ { AIMUL3Q, yimul3, Pw, {0x6b,(00)} },
+ { AINB, yin, Pb, {0xe4,0xec} },
+ { AINCB, yincb, Pb, {0xfe,(00)} },
+ { AINCL, yincl, Px, {0xff,(00)} },
+ { AINCQ, yincl, Pw, {0xff,(00)} },
+ { AINCW, yincw, Pe, {0xff,(00)} },
+ { AINL, yin, Px, {0xe5,0xed} },
+ { AINSB, ynone, Pb, {0x6c} },
+ { AINSL, ynone, Px, {0x6d} },
+ { AINSW, ynone, Pe, {0x6d} },
+ { AINT, yint, Px, {0xcd} },
+ { AINTO, ynone, P32, {0xce} },
+ { AINW, yin, Pe, {0xe5,0xed} },
+ { AIRETL, ynone, Px, {0xcf} },
+ { AIRETQ, ynone, Pw, {0xcf} },
+ { AIRETW, ynone, Pe, {0xcf} },
+ { AJCC, yjcond, Px, {0x73,0x83,(00)} },
+ { AJCS, yjcond, Px, {0x72,0x82} },
+ { AJCXZL, yloop, Px, {0xe3} },
+ { AJCXZQ, yloop, Px, {0xe3} },
+ { AJEQ, yjcond, Px, {0x74,0x84} },
+ { AJGE, yjcond, Px, {0x7d,0x8d} },
+ { AJGT, yjcond, Px, {0x7f,0x8f} },
+ { AJHI, yjcond, Px, {0x77,0x87} },
+ { AJLE, yjcond, Px, {0x7e,0x8e} },
+ { AJLS, yjcond, Px, {0x76,0x86} },
+ { AJLT, yjcond, Px, {0x7c,0x8c} },
+ { AJMI, yjcond, Px, {0x78,0x88} },
+ { AJMP, yjmp, Px, {0xff,(04),0xeb,0xe9} },
+ { AJNE, yjcond, Px, {0x75,0x85} },
+ { AJOC, yjcond, Px, {0x71,0x81,(00)} },
+ { AJOS, yjcond, Px, {0x70,0x80,(00)} },
+ { AJPC, yjcond, Px, {0x7b,0x8b} },
+ { AJPL, yjcond, Px, {0x79,0x89} },
+ { AJPS, yjcond, Px, {0x7a,0x8a} },
+ { ALAHF, ynone, Px, {0x9f} },
+ { ALARL, yml_rl, Pm, {0x02} },
+ { ALARW, yml_rl, Pq, {0x02} },
+ { ALDMXCSR, ysvrs, Pm, {0xae,(02),0xae,(02)} },
+ { ALEAL, ym_rl, Px, {0x8d} },
+ { ALEAQ, ym_rl, Pw, {0x8d} },
+ { ALEAVEL, ynone, P32, {0xc9} },
+ { ALEAVEQ, ynone, Py, {0xc9} },
+ { ALEAVEW, ynone, Pe, {0xc9} },
+ { ALEAW, ym_rl, Pe, {0x8d} },
+ { ALOCK, ynone, Px, {0xf0} },
+ { ALODSB, ynone, Pb, {0xac} },
+ { ALODSL, ynone, Px, {0xad} },
+ { ALODSQ, ynone, Pw, {0xad} },
+ { ALODSW, ynone, Pe, {0xad} },
+ { ALONG, ybyte, Px, {4} },
+ { ALOOP, yloop, Px, {0xe2} },
+ { ALOOPEQ, yloop, Px, {0xe1} },
+ { ALOOPNE, yloop, Px, {0xe0} },
+ { ALSLL, yml_rl, Pm, {0x03 } },
+ { ALSLW, yml_rl, Pq, {0x03 } },
+ { AMASKMOVOU, yxr, Pe, {0xf7} },
+ { AMASKMOVQ, ymr, Pm, {0xf7} },
+ { AMAXPD, yxm, Pe, {0x5f} },
+ { AMAXPS, yxm, Pm, {0x5f} },
+ { AMAXSD, yxm, Pf2, {0x5f} },
+ { AMAXSS, yxm, Pf3, {0x5f} },
+ { AMINPD, yxm, Pe, {0x5d} },
+ { AMINPS, yxm, Pm, {0x5d} },
+ { AMINSD, yxm, Pf2, {0x5d} },
+ { AMINSS, yxm, Pf3, {0x5d} },
+ { AMOVAPD, yxmov, Pe, {0x28,0x29} },
+ { AMOVAPS, yxmov, Pm, {0x28,0x29} },
+ { AMOVB, ymovb, Pb, {0x88,0x8a,0xb0,0xc6,(00)} },
+ { AMOVBLSX, ymb_rl, Pm, {0xbe} },
+ { AMOVBLZX, ymb_rl, Pm, {0xb6} },
+ { AMOVBQSX, ymb_rl, Pw, {0x0f,0xbe} },
+ { AMOVBQZX, ymb_rl, Pw, {0x0f,0xb6} },
+ { AMOVBWSX, ymb_rl, Pq, {0xbe} },
+ { AMOVBWZX, ymb_rl, Pq, {0xb6} },
+ { AMOVO, yxmov, Pe, {0x6f,0x7f} },
+ { AMOVOU, yxmov, Pf3, {0x6f,0x7f} },
+ { AMOVHLPS, yxr, Pm, {0x12} },
+ { AMOVHPD, yxmov, Pe, {0x16,0x17} },
+ { AMOVHPS, yxmov, Pm, {0x16,0x17} },
+ { AMOVL, ymovl, Px, {0x89,0x8b,0x31,0xb8,0xc7,(00),0x6e,0x7e,Pe,0x6e,Pe,0x7e,0} },
+ { AMOVLHPS, yxr, Pm, {0x16} },
+ { AMOVLPD, yxmov, Pe, {0x12,0x13} },
+ { AMOVLPS, yxmov, Pm, {0x12,0x13} },
+ { AMOVLQSX, yml_rl, Pw, {0x63} },
+ { AMOVLQZX, yml_rl, Px, {0x8b} },
+ { AMOVMSKPD, yxrrl, Pq, {0x50} },
+ { AMOVMSKPS, yxrrl, Pm, {0x50} },
+ { AMOVNTO, yxr_ml, Pe, {0xe7} },
+ { AMOVNTPD, yxr_ml, Pe, {0x2b} },
+ { AMOVNTPS, yxr_ml, Pm, {0x2b} },
+ { AMOVNTQ, ymr_ml, Pm, {0xe7} },
+ { AMOVQ, ymovq, Pw, {0x89, 0x8b, 0x31, 0xc7,(00), 0xb8, 0xc7,(00), 0x6f, 0x7f, 0x6e, 0x7e, Pf2,0xd6, Pf3,0x7e, Pe,0xd6, Pe,0x6e, Pe,0x7e,0} },
+ { AMOVQOZX, ymrxr, Pf3, {0xd6,0x7e} },
+ { AMOVSB, ynone, Pb, {0xa4} },
+ { AMOVSD, yxmov, Pf2, {0x10,0x11} },
+ { AMOVSL, ynone, Px, {0xa5} },
+ { AMOVSQ, ynone, Pw, {0xa5} },
+ { AMOVSS, yxmov, Pf3, {0x10,0x11} },
+ { AMOVSW, ynone, Pe, {0xa5} },
+ { AMOVUPD, yxmov, Pe, {0x10,0x11} },
+ { AMOVUPS, yxmov, Pm, {0x10,0x11} },
+ { AMOVW, ymovw, Pe, {0x89,0x8b,0x31,0xb8,0xc7,(00),0} },
+ { AMOVWLSX, yml_rl, Pm, {0xbf} },
+ { AMOVWLZX, yml_rl, Pm, {0xb7} },
+ { AMOVWQSX, yml_rl, Pw, {0x0f,0xbf} },
+ { AMOVWQZX, yml_rl, Pw, {0x0f,0xb7} },
+ { AMULB, ydivb, Pb, {0xf6,(04)} },
+ { AMULL, ydivl, Px, {0xf7,(04)} },
+ { AMULPD, yxm, Pe, {0x59} },
+ { AMULPS, yxm, Ym, {0x59} },
+ { AMULQ, ydivl, Pw, {0xf7,(04)} },
+ { AMULSD, yxm, Pf2, {0x59} },
+ { AMULSS, yxm, Pf3, {0x59} },
+ { AMULW, ydivl, Pe, {0xf7,(04)} },
{ ANAME },
- { ANEGB, yscond, Pb, 0xf6,(03) },
- { ANEGL, yscond, Px, 0xf7,(03) },
- { ANEGQ, yscond, Pw, 0xf7,(03) },
- { ANEGW, yscond, Pe, 0xf7,(03) },
- { ANOP, ynop, Px, 0,0 },
- { ANOTB, yscond, Pb, 0xf6,(02) },
- { ANOTL, yscond, Px, 0xf7,(02) },
- { ANOTQ, yscond, Pw, 0xf7,(02) },
- { ANOTW, yscond, Pe, 0xf7,(02) },
- { AORB, yxorb, Pb, 0x0c,0x80,(01),0x08,0x0a },
- { AORL, yxorl, Px, 0x83,(01),0x0d,0x81,(01),0x09,0x0b },
- { AORPD, yxm, Pq, 0x56 },
- { AORPS, yxm, Pm, 0x56 },
- { AORQ, yxorl, Pw, 0x83,(01),0x0d,0x81,(01),0x09,0x0b },
- { AORW, yxorl, Pe, 0x83,(01),0x0d,0x81,(01),0x09,0x0b },
- { AOUTB, yin, Pb, 0xe6,0xee },
- { AOUTL, yin, Px, 0xe7,0xef },
- { AOUTSB, ynone, Pb, 0x6e },
- { AOUTSL, ynone, Px, 0x6f },
- { AOUTSW, ynone, Pe, 0x6f },
- { AOUTW, yin, Pe, 0xe7,0xef },
- { APACKSSLW, ymm, Py, 0x6b,Pe,0x6b },
- { APACKSSWB, ymm, Py, 0x63,Pe,0x63 },
- { APACKUSWB, ymm, Py, 0x67,Pe,0x67 },
- { APADDB, ymm, Py, 0xfc,Pe,0xfc },
- { APADDL, ymm, Py, 0xfe,Pe,0xfe },
- { APADDQ, yxm, Pe, 0xd4 },
- { APADDSB, ymm, Py, 0xec,Pe,0xec },
- { APADDSW, ymm, Py, 0xed,Pe,0xed },
- { APADDUSB, ymm, Py, 0xdc,Pe,0xdc },
- { APADDUSW, ymm, Py, 0xdd,Pe,0xdd },
- { APADDW, ymm, Py, 0xfd,Pe,0xfd },
- { APAND, ymm, Py, 0xdb,Pe,0xdb },
- { APANDN, ymm, Py, 0xdf,Pe,0xdf },
- { APAUSE, ynone, Px, 0xf3,0x90 },
- { APAVGB, ymm, Py, 0xe0,Pe,0xe0 },
- { APAVGW, ymm, Py, 0xe3,Pe,0xe3 },
- { APCMPEQB, ymm, Py, 0x74,Pe,0x74 },
- { APCMPEQL, ymm, Py, 0x76,Pe,0x76 },
- { APCMPEQW, ymm, Py, 0x75,Pe,0x75 },
- { APCMPGTB, ymm, Py, 0x64,Pe,0x64 },
- { APCMPGTL, ymm, Py, 0x66,Pe,0x66 },
- { APCMPGTW, ymm, Py, 0x65,Pe,0x65 },
- { APEXTRW, yextrw, Pq, 0xc5,(00) },
- { APF2IL, ymfp, Px, 0x1d },
- { APF2IW, ymfp, Px, 0x1c },
- { API2FL, ymfp, Px, 0x0d },
- { APFACC, ymfp, Px, 0xae },
- { APFADD, ymfp, Px, 0x9e },
- { APFCMPEQ, ymfp, Px, 0xb0 },
- { APFCMPGE, ymfp, Px, 0x90 },
- { APFCMPGT, ymfp, Px, 0xa0 },
- { APFMAX, ymfp, Px, 0xa4 },
- { APFMIN, ymfp, Px, 0x94 },
- { APFMUL, ymfp, Px, 0xb4 },
- { APFNACC, ymfp, Px, 0x8a },
- { APFPNACC, ymfp, Px, 0x8e },
- { APFRCP, ymfp, Px, 0x96 },
- { APFRCPIT1, ymfp, Px, 0xa6 },
- { APFRCPI2T, ymfp, Px, 0xb6 },
- { APFRSQIT1, ymfp, Px, 0xa7 },
- { APFRSQRT, ymfp, Px, 0x97 },
- { APFSUB, ymfp, Px, 0x9a },
- { APFSUBR, ymfp, Px, 0xaa },
- { APINSRW, yinsrw, Pq, 0xc4,(00) },
- { APINSRD, yinsr, Pq, 0x3a, 0x22, (00) },
- { APINSRQ, yinsr, Pq3, 0x3a, 0x22, (00) },
- { APMADDWL, ymm, Py, 0xf5,Pe,0xf5 },
- { APMAXSW, yxm, Pe, 0xee },
- { APMAXUB, yxm, Pe, 0xde },
- { APMINSW, yxm, Pe, 0xea },
- { APMINUB, yxm, Pe, 0xda },
- { APMOVMSKB, ymskb, Px, Pe,0xd7,0xd7 },
- { APMULHRW, ymfp, Px, 0xb7 },
- { APMULHUW, ymm, Py, 0xe4,Pe,0xe4 },
- { APMULHW, ymm, Py, 0xe5,Pe,0xe5 },
- { APMULLW, ymm, Py, 0xd5,Pe,0xd5 },
- { APMULULQ, ymm, Py, 0xf4,Pe,0xf4 },
- { APOPAL, ynone, P32, 0x61 },
- { APOPAW, ynone, Pe, 0x61 },
- { APOPFL, ynone, P32, 0x9d },
- { APOPFQ, ynone, Py, 0x9d },
- { APOPFW, ynone, Pe, 0x9d },
- { APOPL, ypopl, P32, 0x58,0x8f,(00) },
- { APOPQ, ypopl, Py, 0x58,0x8f,(00) },
- { APOPW, ypopl, Pe, 0x58,0x8f,(00) },
- { APOR, ymm, Py, 0xeb,Pe,0xeb },
- { APSADBW, yxm, Pq, 0xf6 },
- { APSHUFHW, yxshuf, Pf3, 0x70,(00) },
- { APSHUFL, yxshuf, Pq, 0x70,(00) },
- { APSHUFLW, yxshuf, Pf2, 0x70,(00) },
- { APSHUFW, ymshuf, Pm, 0x70,(00) },
- { APSHUFB, ymshufb,Pq, 0x38, 0x00 },
- { APSLLO, ypsdq, Pq, 0x73,(07) },
- { APSLLL, yps, Py, 0xf2, 0x72,(06), Pe,0xf2, Pe,0x72,(06) },
- { APSLLQ, yps, Py, 0xf3, 0x73,(06), Pe,0xf3, Pe,0x73,(06) },
- { APSLLW, yps, Py, 0xf1, 0x71,(06), Pe,0xf1, Pe,0x71,(06) },
- { APSRAL, yps, Py, 0xe2, 0x72,(04), Pe,0xe2, Pe,0x72,(04) },
- { APSRAW, yps, Py, 0xe1, 0x71,(04), Pe,0xe1, Pe,0x71,(04) },
- { APSRLO, ypsdq, Pq, 0x73,(03) },
- { APSRLL, yps, Py, 0xd2, 0x72,(02), Pe,0xd2, Pe,0x72,(02) },
- { APSRLQ, yps, Py, 0xd3, 0x73,(02), Pe,0xd3, Pe,0x73,(02) },
- { APSRLW, yps, Py, 0xd1, 0x71,(02), Pe,0xe1, Pe,0x71,(02) },
- { APSUBB, yxm, Pe, 0xf8 },
- { APSUBL, yxm, Pe, 0xfa },
- { APSUBQ, yxm, Pe, 0xfb },
- { APSUBSB, yxm, Pe, 0xe8 },
- { APSUBSW, yxm, Pe, 0xe9 },
- { APSUBUSB, yxm, Pe, 0xd8 },
- { APSUBUSW, yxm, Pe, 0xd9 },
- { APSUBW, yxm, Pe, 0xf9 },
- { APSWAPL, ymfp, Px, 0xbb },
- { APUNPCKHBW, ymm, Py, 0x68,Pe,0x68 },
- { APUNPCKHLQ, ymm, Py, 0x6a,Pe,0x6a },
- { APUNPCKHQDQ, yxm, Pe, 0x6d },
- { APUNPCKHWL, ymm, Py, 0x69,Pe,0x69 },
- { APUNPCKLBW, ymm, Py, 0x60,Pe,0x60 },
- { APUNPCKLLQ, ymm, Py, 0x62,Pe,0x62 },
- { APUNPCKLQDQ, yxm, Pe, 0x6c },
- { APUNPCKLWL, ymm, Py, 0x61,Pe,0x61 },
- { APUSHAL, ynone, P32, 0x60 },
- { APUSHAW, ynone, Pe, 0x60 },
- { APUSHFL, ynone, P32, 0x9c },
- { APUSHFQ, ynone, Py, 0x9c },
- { APUSHFW, ynone, Pe, 0x9c },
- { APUSHL, ypushl, P32, 0x50,0xff,(06),0x6a,0x68 },
- { APUSHQ, ypushl, Py, 0x50,0xff,(06),0x6a,0x68 },
- { APUSHW, ypushl, Pe, 0x50,0xff,(06),0x6a,0x68 },
- { APXOR, ymm, Py, 0xef,Pe,0xef },
- { AQUAD, ybyte, Px, 8 },
- { ARCLB, yshb, Pb, 0xd0,(02),0xc0,(02),0xd2,(02) },
- { ARCLL, yshl, Px, 0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02) },
- { ARCLQ, yshl, Pw, 0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02) },
- { ARCLW, yshl, Pe, 0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02) },
- { ARCPPS, yxm, Pm, 0x53 },
- { ARCPSS, yxm, Pf3, 0x53 },
- { ARCRB, yshb, Pb, 0xd0,(03),0xc0,(03),0xd2,(03) },
- { ARCRL, yshl, Px, 0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03) },
- { ARCRQ, yshl, Pw, 0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03) },
- { ARCRW, yshl, Pe, 0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03) },
- { AREP, ynone, Px, 0xf3 },
- { AREPN, ynone, Px, 0xf2 },
- { ARET, ynone, Px, 0xc3 },
- { ARETFW, yret, Pe, 0xcb,0xca },
- { ARETFL, yret, Px, 0xcb,0xca },
- { ARETFQ, yret, Pw, 0xcb,0xca },
- { AROLB, yshb, Pb, 0xd0,(00),0xc0,(00),0xd2,(00) },
- { AROLL, yshl, Px, 0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00) },
- { AROLQ, yshl, Pw, 0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00) },
- { AROLW, yshl, Pe, 0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00) },
- { ARORB, yshb, Pb, 0xd0,(01),0xc0,(01),0xd2,(01) },
- { ARORL, yshl, Px, 0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01) },
- { ARORQ, yshl, Pw, 0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01) },
- { ARORW, yshl, Pe, 0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01) },
- { ARSQRTPS, yxm, Pm, 0x52 },
- { ARSQRTSS, yxm, Pf3, 0x52 },
- { ASAHF, ynone, Px, 0x86,0xe0,0x50,0x9d }, /* XCHGB AH,AL; PUSH AX; POPFL */
- { ASALB, yshb, Pb, 0xd0,(04),0xc0,(04),0xd2,(04) },
- { ASALL, yshl, Px, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
- { ASALQ, yshl, Pw, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
- { ASALW, yshl, Pe, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
- { ASARB, yshb, Pb, 0xd0,(07),0xc0,(07),0xd2,(07) },
- { ASARL, yshl, Px, 0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07) },
- { ASARQ, yshl, Pw, 0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07) },
- { ASARW, yshl, Pe, 0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07) },
- { ASBBB, yxorb, Pb, 0x1c,0x80,(03),0x18,0x1a },
- { ASBBL, yxorl, Px, 0x83,(03),0x1d,0x81,(03),0x19,0x1b },
- { ASBBQ, yxorl, Pw, 0x83,(03),0x1d,0x81,(03),0x19,0x1b },
- { ASBBW, yxorl, Pe, 0x83,(03),0x1d,0x81,(03),0x19,0x1b },
- { ASCASB, ynone, Pb, 0xae },
- { ASCASL, ynone, Px, 0xaf },
- { ASCASQ, ynone, Pw, 0xaf },
- { ASCASW, ynone, Pe, 0xaf },
- { ASETCC, yscond, Pm, 0x93,(00) },
- { ASETCS, yscond, Pm, 0x92,(00) },
- { ASETEQ, yscond, Pm, 0x94,(00) },
- { ASETGE, yscond, Pm, 0x9d,(00) },
- { ASETGT, yscond, Pm, 0x9f,(00) },
- { ASETHI, yscond, Pm, 0x97,(00) },
- { ASETLE, yscond, Pm, 0x9e,(00) },
- { ASETLS, yscond, Pm, 0x96,(00) },
- { ASETLT, yscond, Pm, 0x9c,(00) },
- { ASETMI, yscond, Pm, 0x98,(00) },
- { ASETNE, yscond, Pm, 0x95,(00) },
- { ASETOC, yscond, Pm, 0x91,(00) },
- { ASETOS, yscond, Pm, 0x90,(00) },
- { ASETPC, yscond, Pm, 0x96,(00) },
- { ASETPL, yscond, Pm, 0x99,(00) },
- { ASETPS, yscond, Pm, 0x9a,(00) },
- { ASHLB, yshb, Pb, 0xd0,(04),0xc0,(04),0xd2,(04) },
- { ASHLL, yshl, Px, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
- { ASHLQ, yshl, Pw, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
- { ASHLW, yshl, Pe, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
- { ASHRB, yshb, Pb, 0xd0,(05),0xc0,(05),0xd2,(05) },
- { ASHRL, yshl, Px, 0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05) },
- { ASHRQ, yshl, Pw, 0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05) },
- { ASHRW, yshl, Pe, 0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05) },
- { ASHUFPD, yxshuf, Pq, 0xc6,(00) },
- { ASHUFPS, yxshuf, Pm, 0xc6,(00) },
- { ASQRTPD, yxm, Pe, 0x51 },
- { ASQRTPS, yxm, Pm, 0x51 },
- { ASQRTSD, yxm, Pf2, 0x51 },
- { ASQRTSS, yxm, Pf3, 0x51 },
- { ASTC, ynone, Px, 0xf9 },
- { ASTD, ynone, Px, 0xfd },
- { ASTI, ynone, Px, 0xfb },
- { ASTMXCSR, ysvrs, Pm, 0xae,(03),0xae,(03) },
- { ASTOSB, ynone, Pb, 0xaa },
- { ASTOSL, ynone, Px, 0xab },
- { ASTOSQ, ynone, Pw, 0xab },
- { ASTOSW, ynone, Pe, 0xab },
- { ASUBB, yxorb, Pb, 0x2c,0x80,(05),0x28,0x2a },
- { ASUBL, yaddl, Px, 0x83,(05),0x2d,0x81,(05),0x29,0x2b },
- { ASUBPD, yxm, Pe, 0x5c },
- { ASUBPS, yxm, Pm, 0x5c },
- { ASUBQ, yaddl, Pw, 0x83,(05),0x2d,0x81,(05),0x29,0x2b },
- { ASUBSD, yxm, Pf2, 0x5c },
- { ASUBSS, yxm, Pf3, 0x5c },
- { ASUBW, yaddl, Pe, 0x83,(05),0x2d,0x81,(05),0x29,0x2b },
- { ASWAPGS, ynone, Pm, 0x01,0xf8 },
- { ASYSCALL, ynone, Px, 0x0f,0x05 }, /* fast syscall */
- { ATESTB, ytestb, Pb, 0xa8,0xf6,(00),0x84,0x84 },
- { ATESTL, ytestl, Px, 0xa9,0xf7,(00),0x85,0x85 },
- { ATESTQ, ytestl, Pw, 0xa9,0xf7,(00),0x85,0x85 },
- { ATESTW, ytestl, Pe, 0xa9,0xf7,(00),0x85,0x85 },
+ { ANEGB, yscond, Pb, {0xf6,(03)} },
+ { ANEGL, yscond, Px, {0xf7,(03)} },
+ { ANEGQ, yscond, Pw, {0xf7,(03)} },
+ { ANEGW, yscond, Pe, {0xf7,(03)} },
+ { ANOP, ynop, Px, {0,0} },
+ { ANOTB, yscond, Pb, {0xf6,(02)} },
+ { ANOTL, yscond, Px, {0xf7,(02)} },
+ { ANOTQ, yscond, Pw, {0xf7,(02)} },
+ { ANOTW, yscond, Pe, {0xf7,(02)} },
+ { AORB, yxorb, Pb, {0x0c,0x80,(01),0x08,0x0a} },
+ { AORL, yxorl, Px, {0x83,(01),0x0d,0x81,(01),0x09,0x0b} },
+ { AORPD, yxm, Pq, {0x56} },
+ { AORPS, yxm, Pm, {0x56} },
+ { AORQ, yxorl, Pw, {0x83,(01),0x0d,0x81,(01),0x09,0x0b} },
+ { AORW, yxorl, Pe, {0x83,(01),0x0d,0x81,(01),0x09,0x0b} },
+ { AOUTB, yin, Pb, {0xe6,0xee} },
+ { AOUTL, yin, Px, {0xe7,0xef} },
+ { AOUTSB, ynone, Pb, {0x6e} },
+ { AOUTSL, ynone, Px, {0x6f} },
+ { AOUTSW, ynone, Pe, {0x6f} },
+ { AOUTW, yin, Pe, {0xe7,0xef} },
+ { APACKSSLW, ymm, Py, {0x6b,Pe,0x6b} },
+ { APACKSSWB, ymm, Py, {0x63,Pe,0x63} },
+ { APACKUSWB, ymm, Py, {0x67,Pe,0x67} },
+ { APADDB, ymm, Py, {0xfc,Pe,0xfc} },
+ { APADDL, ymm, Py, {0xfe,Pe,0xfe} },
+ { APADDQ, yxm, Pe, {0xd4} },
+ { APADDSB, ymm, Py, {0xec,Pe,0xec} },
+ { APADDSW, ymm, Py, {0xed,Pe,0xed} },
+ { APADDUSB, ymm, Py, {0xdc,Pe,0xdc} },
+ { APADDUSW, ymm, Py, {0xdd,Pe,0xdd} },
+ { APADDW, ymm, Py, {0xfd,Pe,0xfd} },
+ { APAND, ymm, Py, {0xdb,Pe,0xdb} },
+ { APANDN, ymm, Py, {0xdf,Pe,0xdf} },
+ { APAUSE, ynone, Px, {0xf3,0x90} },
+ { APAVGB, ymm, Py, {0xe0,Pe,0xe0} },
+ { APAVGW, ymm, Py, {0xe3,Pe,0xe3} },
+ { APCMPEQB, ymm, Py, {0x74,Pe,0x74} },
+ { APCMPEQL, ymm, Py, {0x76,Pe,0x76} },
+ { APCMPEQW, ymm, Py, {0x75,Pe,0x75} },
+ { APCMPGTB, ymm, Py, {0x64,Pe,0x64} },
+ { APCMPGTL, ymm, Py, {0x66,Pe,0x66} },
+ { APCMPGTW, ymm, Py, {0x65,Pe,0x65} },
+ { APEXTRW, yextrw, Pq, {0xc5,(00)} },
+ { APF2IL, ymfp, Px, {0x1d} },
+ { APF2IW, ymfp, Px, {0x1c} },
+ { API2FL, ymfp, Px, {0x0d} },
+ { APFACC, ymfp, Px, {0xae} },
+ { APFADD, ymfp, Px, {0x9e} },
+ { APFCMPEQ, ymfp, Px, {0xb0} },
+ { APFCMPGE, ymfp, Px, {0x90} },
+ { APFCMPGT, ymfp, Px, {0xa0} },
+ { APFMAX, ymfp, Px, {0xa4} },
+ { APFMIN, ymfp, Px, {0x94} },
+ { APFMUL, ymfp, Px, {0xb4} },
+ { APFNACC, ymfp, Px, {0x8a} },
+ { APFPNACC, ymfp, Px, {0x8e} },
+ { APFRCP, ymfp, Px, {0x96} },
+ { APFRCPIT1, ymfp, Px, {0xa6} },
+ { APFRCPI2T, ymfp, Px, {0xb6} },
+ { APFRSQIT1, ymfp, Px, {0xa7} },
+ { APFRSQRT, ymfp, Px, {0x97} },
+ { APFSUB, ymfp, Px, {0x9a} },
+ { APFSUBR, ymfp, Px, {0xaa} },
+ { APINSRW, yinsrw, Pq, {0xc4,(00)} },
+ { APINSRD, yinsr, Pq, {0x3a, 0x22, (00)} },
+ { APINSRQ, yinsr, Pq3, {0x3a, 0x22, (00)} },
+ { APMADDWL, ymm, Py, {0xf5,Pe,0xf5} },
+ { APMAXSW, yxm, Pe, {0xee} },
+ { APMAXUB, yxm, Pe, {0xde} },
+ { APMINSW, yxm, Pe, {0xea} },
+ { APMINUB, yxm, Pe, {0xda} },
+ { APMOVMSKB, ymskb, Px, {Pe,0xd7,0xd7} },
+ { APMULHRW, ymfp, Px, {0xb7} },
+ { APMULHUW, ymm, Py, {0xe4,Pe,0xe4} },
+ { APMULHW, ymm, Py, {0xe5,Pe,0xe5} },
+ { APMULLW, ymm, Py, {0xd5,Pe,0xd5} },
+ { APMULULQ, ymm, Py, {0xf4,Pe,0xf4} },
+ { APOPAL, ynone, P32, {0x61} },
+ { APOPAW, ynone, Pe, {0x61} },
+ { APOPFL, ynone, P32, {0x9d} },
+ { APOPFQ, ynone, Py, {0x9d} },
+ { APOPFW, ynone, Pe, {0x9d} },
+ { APOPL, ypopl, P32, {0x58,0x8f,(00)} },
+ { APOPQ, ypopl, Py, {0x58,0x8f,(00)} },
+ { APOPW, ypopl, Pe, {0x58,0x8f,(00)} },
+ { APOR, ymm, Py, {0xeb,Pe,0xeb} },
+ { APSADBW, yxm, Pq, {0xf6} },
+ { APSHUFHW, yxshuf, Pf3, {0x70,(00)} },
+ { APSHUFL, yxshuf, Pq, {0x70,(00)} },
+ { APSHUFLW, yxshuf, Pf2, {0x70,(00)} },
+ { APSHUFW, ymshuf, Pm, {0x70,(00)} },
+ { APSHUFB, ymshufb,Pq, {0x38, 0x00} },
+ { APSLLO, ypsdq, Pq, {0x73,(07)} },
+ { APSLLL, yps, Py, {0xf2, 0x72,(06), Pe,0xf2, Pe,0x72,(06)} },
+ { APSLLQ, yps, Py, {0xf3, 0x73,(06), Pe,0xf3, Pe,0x73,(06)} },
+ { APSLLW, yps, Py, {0xf1, 0x71,(06), Pe,0xf1, Pe,0x71,(06)} },
+ { APSRAL, yps, Py, {0xe2, 0x72,(04), Pe,0xe2, Pe,0x72,(04)} },
+ { APSRAW, yps, Py, {0xe1, 0x71,(04), Pe,0xe1, Pe,0x71,(04)} },
+ { APSRLO, ypsdq, Pq, {0x73,(03)} },
+ { APSRLL, yps, Py, {0xd2, 0x72,(02), Pe,0xd2, Pe,0x72,(02)} },
+ { APSRLQ, yps, Py, {0xd3, 0x73,(02), Pe,0xd3, Pe,0x73,(02)} },
+ { APSRLW, yps, Py, {0xd1, 0x71,(02), Pe,0xe1, Pe,0x71,(02)} },
+ { APSUBB, yxm, Pe, {0xf8} },
+ { APSUBL, yxm, Pe, {0xfa} },
+ { APSUBQ, yxm, Pe, {0xfb} },
+ { APSUBSB, yxm, Pe, {0xe8} },
+ { APSUBSW, yxm, Pe, {0xe9} },
+ { APSUBUSB, yxm, Pe, {0xd8} },
+ { APSUBUSW, yxm, Pe, {0xd9} },
+ { APSUBW, yxm, Pe, {0xf9} },
+ { APSWAPL, ymfp, Px, {0xbb} },
+ { APUNPCKHBW, ymm, Py, {0x68,Pe,0x68} },
+ { APUNPCKHLQ, ymm, Py, {0x6a,Pe,0x6a} },
+ { APUNPCKHQDQ, yxm, Pe, {0x6d} },
+ { APUNPCKHWL, ymm, Py, {0x69,Pe,0x69} },
+ { APUNPCKLBW, ymm, Py, {0x60,Pe,0x60} },
+ { APUNPCKLLQ, ymm, Py, {0x62,Pe,0x62} },
+ { APUNPCKLQDQ, yxm, Pe, {0x6c} },
+ { APUNPCKLWL, ymm, Py, {0x61,Pe,0x61} },
+ { APUSHAL, ynone, P32, {0x60} },
+ { APUSHAW, ynone, Pe, {0x60} },
+ { APUSHFL, ynone, P32, {0x9c} },
+ { APUSHFQ, ynone, Py, {0x9c} },
+ { APUSHFW, ynone, Pe, {0x9c} },
+ { APUSHL, ypushl, P32, {0x50,0xff,(06),0x6a,0x68} },
+ { APUSHQ, ypushl, Py, {0x50,0xff,(06),0x6a,0x68} },
+ { APUSHW, ypushl, Pe, {0x50,0xff,(06),0x6a,0x68} },
+ { APXOR, ymm, Py, {0xef,Pe,0xef} },
+ { AQUAD, ybyte, Px, {8} },
+ { ARCLB, yshb, Pb, {0xd0,(02),0xc0,(02),0xd2,(02)} },
+ { ARCLL, yshl, Px, {0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02)} },
+ { ARCLQ, yshl, Pw, {0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02)} },
+ { ARCLW, yshl, Pe, {0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02)} },
+ { ARCPPS, yxm, Pm, {0x53} },
+ { ARCPSS, yxm, Pf3, {0x53} },
+ { ARCRB, yshb, Pb, {0xd0,(03),0xc0,(03),0xd2,(03)} },
+ { ARCRL, yshl, Px, {0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03)} },
+ { ARCRQ, yshl, Pw, {0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03)} },
+ { ARCRW, yshl, Pe, {0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03)} },
+ { AREP, ynone, Px, {0xf3} },
+ { AREPN, ynone, Px, {0xf2} },
+ { ARET, ynone, Px, {0xc3} },
+ { ARETFW, yret, Pe, {0xcb,0xca} },
+ { ARETFL, yret, Px, {0xcb,0xca} },
+ { ARETFQ, yret, Pw, {0xcb,0xca} },
+ { AROLB, yshb, Pb, {0xd0,(00),0xc0,(00),0xd2,(00)} },
+ { AROLL, yshl, Px, {0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00)} },
+ { AROLQ, yshl, Pw, {0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00)} },
+ { AROLW, yshl, Pe, {0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00)} },
+ { ARORB, yshb, Pb, {0xd0,(01),0xc0,(01),0xd2,(01)} },
+ { ARORL, yshl, Px, {0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01)} },
+ { ARORQ, yshl, Pw, {0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01)} },
+ { ARORW, yshl, Pe, {0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01)} },
+ { ARSQRTPS, yxm, Pm, {0x52} },
+ { ARSQRTSS, yxm, Pf3, {0x52} },
+ { ASAHF, ynone, Px, {0x86,0xe0,0x50,0x9d} }, /* XCHGB AH,AL; PUSH AX; POPFL */
+ { ASALB, yshb, Pb, {0xd0,(04),0xc0,(04),0xd2,(04)} },
+ { ASALL, yshl, Px, {0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04)} },
+ { ASALQ, yshl, Pw, {0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04)} },
+ { ASALW, yshl, Pe, {0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04)} },
+ { ASARB, yshb, Pb, {0xd0,(07),0xc0,(07),0xd2,(07)} },
+ { ASARL, yshl, Px, {0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07)} },
+ { ASARQ, yshl, Pw, {0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07)} },
+ { ASARW, yshl, Pe, {0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07)} },
+ { ASBBB, yxorb, Pb, {0x1c,0x80,(03),0x18,0x1a} },
+ { ASBBL, yxorl, Px, {0x83,(03),0x1d,0x81,(03),0x19,0x1b} },
+ { ASBBQ, yxorl, Pw, {0x83,(03),0x1d,0x81,(03),0x19,0x1b} },
+ { ASBBW, yxorl, Pe, {0x83,(03),0x1d,0x81,(03),0x19,0x1b} },
+ { ASCASB, ynone, Pb, {0xae} },
+ { ASCASL, ynone, Px, {0xaf} },
+ { ASCASQ, ynone, Pw, {0xaf} },
+ { ASCASW, ynone, Pe, {0xaf} },
+ { ASETCC, yscond, Pm, {0x93,(00)} },
+ { ASETCS, yscond, Pm, {0x92,(00)} },
+ { ASETEQ, yscond, Pm, {0x94,(00)} },
+ { ASETGE, yscond, Pm, {0x9d,(00)} },
+ { ASETGT, yscond, Pm, {0x9f,(00)} },
+ { ASETHI, yscond, Pm, {0x97,(00)} },
+ { ASETLE, yscond, Pm, {0x9e,(00)} },
+ { ASETLS, yscond, Pm, {0x96,(00)} },
+ { ASETLT, yscond, Pm, {0x9c,(00)} },
+ { ASETMI, yscond, Pm, {0x98,(00)} },
+ { ASETNE, yscond, Pm, {0x95,(00)} },
+ { ASETOC, yscond, Pm, {0x91,(00)} },
+ { ASETOS, yscond, Pm, {0x90,(00)} },
+ { ASETPC, yscond, Pm, {0x96,(00)} },
+ { ASETPL, yscond, Pm, {0x99,(00)} },
+ { ASETPS, yscond, Pm, {0x9a,(00)} },
+ { ASHLB, yshb, Pb, {0xd0,(04),0xc0,(04),0xd2,(04)} },
+ { ASHLL, yshl, Px, {0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04)} },
+ { ASHLQ, yshl, Pw, {0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04)} },
+ { ASHLW, yshl, Pe, {0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04)} },
+ { ASHRB, yshb, Pb, {0xd0,(05),0xc0,(05),0xd2,(05)} },
+ { ASHRL, yshl, Px, {0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05)} },
+ { ASHRQ, yshl, Pw, {0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05)} },
+ { ASHRW, yshl, Pe, {0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05)} },
+ { ASHUFPD, yxshuf, Pq, {0xc6,(00)} },
+ { ASHUFPS, yxshuf, Pm, {0xc6,(00)} },
+ { ASQRTPD, yxm, Pe, {0x51} },
+ { ASQRTPS, yxm, Pm, {0x51} },
+ { ASQRTSD, yxm, Pf2, {0x51} },
+ { ASQRTSS, yxm, Pf3, {0x51} },
+ { ASTC, ynone, Px, {0xf9} },
+ { ASTD, ynone, Px, {0xfd} },
+ { ASTI, ynone, Px, {0xfb} },
+ { ASTMXCSR, ysvrs, Pm, {0xae,(03),0xae,(03)} },
+ { ASTOSB, ynone, Pb, {0xaa} },
+ { ASTOSL, ynone, Px, {0xab} },
+ { ASTOSQ, ynone, Pw, {0xab} },
+ { ASTOSW, ynone, Pe, {0xab} },
+ { ASUBB, yxorb, Pb, {0x2c,0x80,(05),0x28,0x2a} },
+ { ASUBL, yaddl, Px, {0x83,(05),0x2d,0x81,(05),0x29,0x2b} },
+ { ASUBPD, yxm, Pe, {0x5c} },
+ { ASUBPS, yxm, Pm, {0x5c} },
+ { ASUBQ, yaddl, Pw, {0x83,(05),0x2d,0x81,(05),0x29,0x2b} },
+ { ASUBSD, yxm, Pf2, {0x5c} },
+ { ASUBSS, yxm, Pf3, {0x5c} },
+ { ASUBW, yaddl, Pe, {0x83,(05),0x2d,0x81,(05),0x29,0x2b} },
+ { ASWAPGS, ynone, Pm, {0x01,0xf8} },
+ { ASYSCALL, ynone, Px, {0x0f,0x05} }, /* fast syscall */
+ { ATESTB, ytestb, Pb, {0xa8,0xf6,(00),0x84,0x84} },
+ { ATESTL, ytestl, Px, {0xa9,0xf7,(00),0x85,0x85} },
+ { ATESTQ, ytestl, Pw, {0xa9,0xf7,(00),0x85,0x85} },
+ { ATESTW, ytestl, Pe, {0xa9,0xf7,(00),0x85,0x85} },
{ ATEXT, ytext, Px },
- { AUCOMISD, yxcmp, Pe, 0x2e },
- { AUCOMISS, yxcmp, Pm, 0x2e },
- { AUNPCKHPD, yxm, Pe, 0x15 },
- { AUNPCKHPS, yxm, Pm, 0x15 },
- { AUNPCKLPD, yxm, Pe, 0x14 },
- { AUNPCKLPS, yxm, Pm, 0x14 },
- { AVERR, ydivl, Pm, 0x00,(04) },
- { AVERW, ydivl, Pm, 0x00,(05) },
- { AWAIT, ynone, Px, 0x9b },
- { AWORD, ybyte, Px, 2 },
- { AXCHGB, yml_mb, Pb, 0x86,0x86 },
- { AXCHGL, yxchg, Px, 0x90,0x90,0x87,0x87 },
- { AXCHGQ, yxchg, Pw, 0x90,0x90,0x87,0x87 },
- { AXCHGW, yxchg, Pe, 0x90,0x90,0x87,0x87 },
- { AXLAT, ynone, Px, 0xd7 },
- { AXORB, yxorb, Pb, 0x34,0x80,(06),0x30,0x32 },
- { AXORL, yxorl, Px, 0x83,(06),0x35,0x81,(06),0x31,0x33 },
- { AXORPD, yxm, Pe, 0x57 },
- { AXORPS, yxm, Pm, 0x57 },
- { AXORQ, yxorl, Pw, 0x83,(06),0x35,0x81,(06),0x31,0x33 },
- { AXORW, yxorl, Pe, 0x83,(06),0x35,0x81,(06),0x31,0x33 },
+ { AUCOMISD, yxcmp, Pe, {0x2e} },
+ { AUCOMISS, yxcmp, Pm, {0x2e} },
+ { AUNPCKHPD, yxm, Pe, {0x15} },
+ { AUNPCKHPS, yxm, Pm, {0x15} },
+ { AUNPCKLPD, yxm, Pe, {0x14} },
+ { AUNPCKLPS, yxm, Pm, {0x14} },
+ { AVERR, ydivl, Pm, {0x00,(04)} },
+ { AVERW, ydivl, Pm, {0x00,(05)} },
+ { AWAIT, ynone, Px, {0x9b} },
+ { AWORD, ybyte, Px, {2} },
+ { AXCHGB, yml_mb, Pb, {0x86,0x86} },
+ { AXCHGL, yxchg, Px, {0x90,0x90,0x87,0x87} },
+ { AXCHGQ, yxchg, Pw, {0x90,0x90,0x87,0x87} },
+ { AXCHGW, yxchg, Pe, {0x90,0x90,0x87,0x87} },
+ { AXLAT, ynone, Px, {0xd7} },
+ { AXORB, yxorb, Pb, {0x34,0x80,(06),0x30,0x32} },
+ { AXORL, yxorl, Px, {0x83,(06),0x35,0x81,(06),0x31,0x33} },
+ { AXORPD, yxm, Pe, {0x57} },
+ { AXORPS, yxm, Pm, {0x57} },
+ { AXORQ, yxorl, Pw, {0x83,(06),0x35,0x81,(06),0x31,0x33} },
+ { AXORW, yxorl, Pe, {0x83,(06),0x35,0x81,(06),0x31,0x33} },
- { AFMOVB, yfmvx, Px, 0xdf,(04) },
- { AFMOVBP, yfmvp, Px, 0xdf,(06) },
- { AFMOVD, yfmvd, Px, 0xdd,(00),0xdd,(02),0xd9,(00),0xdd,(02) },
- { AFMOVDP, yfmvdp, Px, 0xdd,(03),0xdd,(03) },
- { AFMOVF, yfmvf, Px, 0xd9,(00),0xd9,(02) },
- { AFMOVFP, yfmvp, Px, 0xd9,(03) },
- { AFMOVL, yfmvf, Px, 0xdb,(00),0xdb,(02) },
- { AFMOVLP, yfmvp, Px, 0xdb,(03) },
- { AFMOVV, yfmvx, Px, 0xdf,(05) },
- { AFMOVVP, yfmvp, Px, 0xdf,(07) },
- { AFMOVW, yfmvf, Px, 0xdf,(00),0xdf,(02) },
- { AFMOVWP, yfmvp, Px, 0xdf,(03) },
- { AFMOVX, yfmvx, Px, 0xdb,(05) },
- { AFMOVXP, yfmvp, Px, 0xdb,(07) },
+ { AFMOVB, yfmvx, Px, {0xdf,(04)} },
+ { AFMOVBP, yfmvp, Px, {0xdf,(06)} },
+ { AFMOVD, yfmvd, Px, {0xdd,(00),0xdd,(02),0xd9,(00),0xdd,(02)} },
+ { AFMOVDP, yfmvdp, Px, {0xdd,(03),0xdd,(03)} },
+ { AFMOVF, yfmvf, Px, {0xd9,(00),0xd9,(02)} },
+ { AFMOVFP, yfmvp, Px, {0xd9,(03)} },
+ { AFMOVL, yfmvf, Px, {0xdb,(00),0xdb,(02)} },
+ { AFMOVLP, yfmvp, Px, {0xdb,(03)} },
+ { AFMOVV, yfmvx, Px, {0xdf,(05)} },
+ { AFMOVVP, yfmvp, Px, {0xdf,(07)} },
+ { AFMOVW, yfmvf, Px, {0xdf,(00),0xdf,(02)} },
+ { AFMOVWP, yfmvp, Px, {0xdf,(03)} },
+ { AFMOVX, yfmvx, Px, {0xdb,(05)} },
+ { AFMOVXP, yfmvp, Px, {0xdb,(07)} },
{ AFCOMB },
{ AFCOMBP },
- { AFCOMD, yfadd, Px, 0xdc,(02),0xd8,(02),0xdc,(02) }, /* botch */
- { AFCOMDP, yfadd, Px, 0xdc,(03),0xd8,(03),0xdc,(03) }, /* botch */
- { AFCOMDPP, ycompp, Px, 0xde,(03) },
- { AFCOMF, yfmvx, Px, 0xd8,(02) },
- { AFCOMFP, yfmvx, Px, 0xd8,(03) },
- { AFCOML, yfmvx, Px, 0xda,(02) },
- { AFCOMLP, yfmvx, Px, 0xda,(03) },
- { AFCOMW, yfmvx, Px, 0xde,(02) },
- { AFCOMWP, yfmvx, Px, 0xde,(03) },
+ { AFCOMD, yfadd, Px, {0xdc,(02),0xd8,(02),0xdc,(02)} }, /* botch */
+ { AFCOMDP, yfadd, Px, {0xdc,(03),0xd8,(03),0xdc,(03)} }, /* botch */
+ { AFCOMDPP, ycompp, Px, {0xde,(03)} },
+ { AFCOMF, yfmvx, Px, {0xd8,(02)} },
+ { AFCOMFP, yfmvx, Px, {0xd8,(03)} },
+ { AFCOML, yfmvx, Px, {0xda,(02)} },
+ { AFCOMLP, yfmvx, Px, {0xda,(03)} },
+ { AFCOMW, yfmvx, Px, {0xde,(02)} },
+ { AFCOMWP, yfmvx, Px, {0xde,(03)} },
- { AFUCOM, ycompp, Px, 0xdd,(04) },
- { AFUCOMP, ycompp, Px, 0xdd,(05) },
- { AFUCOMPP, ycompp, Px, 0xda,(13) },
+ { AFUCOM, ycompp, Px, {0xdd,(04)} },
+ { AFUCOMP, ycompp, Px, {0xdd,(05)} },
+ { AFUCOMPP, ycompp, Px, {0xda,(13)} },
- { AFADDDP, yfaddp, Px, 0xde,(00) },
- { AFADDW, yfmvx, Px, 0xde,(00) },
- { AFADDL, yfmvx, Px, 0xda,(00) },
- { AFADDF, yfmvx, Px, 0xd8,(00) },
- { AFADDD, yfadd, Px, 0xdc,(00),0xd8,(00),0xdc,(00) },
+ { AFADDDP, yfaddp, Px, {0xde,(00)} },
+ { AFADDW, yfmvx, Px, {0xde,(00)} },
+ { AFADDL, yfmvx, Px, {0xda,(00)} },
+ { AFADDF, yfmvx, Px, {0xd8,(00)} },
+ { AFADDD, yfadd, Px, {0xdc,(00),0xd8,(00),0xdc,(00)} },
- { AFMULDP, yfaddp, Px, 0xde,(01) },
- { AFMULW, yfmvx, Px, 0xde,(01) },
- { AFMULL, yfmvx, Px, 0xda,(01) },
- { AFMULF, yfmvx, Px, 0xd8,(01) },
- { AFMULD, yfadd, Px, 0xdc,(01),0xd8,(01),0xdc,(01) },
+ { AFMULDP, yfaddp, Px, {0xde,(01)} },
+ { AFMULW, yfmvx, Px, {0xde,(01)} },
+ { AFMULL, yfmvx, Px, {0xda,(01)} },
+ { AFMULF, yfmvx, Px, {0xd8,(01)} },
+ { AFMULD, yfadd, Px, {0xdc,(01),0xd8,(01),0xdc,(01)} },
- { AFSUBDP, yfaddp, Px, 0xde,(05) },
- { AFSUBW, yfmvx, Px, 0xde,(04) },
- { AFSUBL, yfmvx, Px, 0xda,(04) },
- { AFSUBF, yfmvx, Px, 0xd8,(04) },
- { AFSUBD, yfadd, Px, 0xdc,(04),0xd8,(04),0xdc,(05) },
+ { AFSUBDP, yfaddp, Px, {0xde,(05)} },
+ { AFSUBW, yfmvx, Px, {0xde,(04)} },
+ { AFSUBL, yfmvx, Px, {0xda,(04)} },
+ { AFSUBF, yfmvx, Px, {0xd8,(04)} },
+ { AFSUBD, yfadd, Px, {0xdc,(04),0xd8,(04),0xdc,(05)} },
- { AFSUBRDP, yfaddp, Px, 0xde,(04) },
- { AFSUBRW, yfmvx, Px, 0xde,(05) },
- { AFSUBRL, yfmvx, Px, 0xda,(05) },
- { AFSUBRF, yfmvx, Px, 0xd8,(05) },
- { AFSUBRD, yfadd, Px, 0xdc,(05),0xd8,(05),0xdc,(04) },
+ { AFSUBRDP, yfaddp, Px, {0xde,(04)} },
+ { AFSUBRW, yfmvx, Px, {0xde,(05)} },
+ { AFSUBRL, yfmvx, Px, {0xda,(05)} },
+ { AFSUBRF, yfmvx, Px, {0xd8,(05)} },
+ { AFSUBRD, yfadd, Px, {0xdc,(05),0xd8,(05),0xdc,(04)} },
- { AFDIVDP, yfaddp, Px, 0xde,(07) },
- { AFDIVW, yfmvx, Px, 0xde,(06) },
- { AFDIVL, yfmvx, Px, 0xda,(06) },
- { AFDIVF, yfmvx, Px, 0xd8,(06) },
- { AFDIVD, yfadd, Px, 0xdc,(06),0xd8,(06),0xdc,(07) },
+ { AFDIVDP, yfaddp, Px, {0xde,(07)} },
+ { AFDIVW, yfmvx, Px, {0xde,(06)} },
+ { AFDIVL, yfmvx, Px, {0xda,(06)} },
+ { AFDIVF, yfmvx, Px, {0xd8,(06)} },
+ { AFDIVD, yfadd, Px, {0xdc,(06),0xd8,(06),0xdc,(07)} },
- { AFDIVRDP, yfaddp, Px, 0xde,(06) },
- { AFDIVRW, yfmvx, Px, 0xde,(07) },
- { AFDIVRL, yfmvx, Px, 0xda,(07) },
- { AFDIVRF, yfmvx, Px, 0xd8,(07) },
- { AFDIVRD, yfadd, Px, 0xdc,(07),0xd8,(07),0xdc,(06) },
+ { AFDIVRDP, yfaddp, Px, {0xde,(06)} },
+ { AFDIVRW, yfmvx, Px, {0xde,(07)} },
+ { AFDIVRL, yfmvx, Px, {0xda,(07)} },
+ { AFDIVRF, yfmvx, Px, {0xd8,(07)} },
+ { AFDIVRD, yfadd, Px, {0xdc,(07),0xd8,(07),0xdc,(06)} },
- { AFXCHD, yfxch, Px, 0xd9,(01),0xd9,(01) },
+ { AFXCHD, yfxch, Px, {0xd9,(01),0xd9,(01)} },
{ AFFREE },
- { AFLDCW, ystcw, Px, 0xd9,(05),0xd9,(05) },
- { AFLDENV, ystcw, Px, 0xd9,(04),0xd9,(04) },
- { AFRSTOR, ysvrs, Px, 0xdd,(04),0xdd,(04) },
- { AFSAVE, ysvrs, Px, 0xdd,(06),0xdd,(06) },
- { AFSTCW, ystcw, Px, 0xd9,(07),0xd9,(07) },
- { AFSTENV, ystcw, Px, 0xd9,(06),0xd9,(06) },
- { AFSTSW, ystsw, Px, 0xdd,(07),0xdf,0xe0 },
- { AF2XM1, ynone, Px, 0xd9, 0xf0 },
- { AFABS, ynone, Px, 0xd9, 0xe1 },
- { AFCHS, ynone, Px, 0xd9, 0xe0 },
- { AFCLEX, ynone, Px, 0xdb, 0xe2 },
- { AFCOS, ynone, Px, 0xd9, 0xff },
- { AFDECSTP, ynone, Px, 0xd9, 0xf6 },
- { AFINCSTP, ynone, Px, 0xd9, 0xf7 },
- { AFINIT, ynone, Px, 0xdb, 0xe3 },
- { AFLD1, ynone, Px, 0xd9, 0xe8 },
- { AFLDL2E, ynone, Px, 0xd9, 0xea },
- { AFLDL2T, ynone, Px, 0xd9, 0xe9 },
- { AFLDLG2, ynone, Px, 0xd9, 0xec },
- { AFLDLN2, ynone, Px, 0xd9, 0xed },
- { AFLDPI, ynone, Px, 0xd9, 0xeb },
- { AFLDZ, ynone, Px, 0xd9, 0xee },
- { AFNOP, ynone, Px, 0xd9, 0xd0 },
- { AFPATAN, ynone, Px, 0xd9, 0xf3 },
- { AFPREM, ynone, Px, 0xd9, 0xf8 },
- { AFPREM1, ynone, Px, 0xd9, 0xf5 },
- { AFPTAN, ynone, Px, 0xd9, 0xf2 },
- { AFRNDINT, ynone, Px, 0xd9, 0xfc },
- { AFSCALE, ynone, Px, 0xd9, 0xfd },
- { AFSIN, ynone, Px, 0xd9, 0xfe },
- { AFSINCOS, ynone, Px, 0xd9, 0xfb },
- { AFSQRT, ynone, Px, 0xd9, 0xfa },
- { AFTST, ynone, Px, 0xd9, 0xe4 },
- { AFXAM, ynone, Px, 0xd9, 0xe5 },
- { AFXTRACT, ynone, Px, 0xd9, 0xf4 },
- { AFYL2X, ynone, Px, 0xd9, 0xf1 },
- { AFYL2XP1, ynone, Px, 0xd9, 0xf9 },
+ { AFLDCW, ystcw, Px, {0xd9,(05),0xd9,(05)} },
+ { AFLDENV, ystcw, Px, {0xd9,(04),0xd9,(04)} },
+ { AFRSTOR, ysvrs, Px, {0xdd,(04),0xdd,(04)} },
+ { AFSAVE, ysvrs, Px, {0xdd,(06),0xdd,(06)} },
+ { AFSTCW, ystcw, Px, {0xd9,(07),0xd9,(07)} },
+ { AFSTENV, ystcw, Px, {0xd9,(06),0xd9,(06)} },
+ { AFSTSW, ystsw, Px, {0xdd,(07),0xdf,0xe0} },
+ { AF2XM1, ynone, Px, {0xd9, 0xf0} },
+ { AFABS, ynone, Px, {0xd9, 0xe1} },
+ { AFCHS, ynone, Px, {0xd9, 0xe0} },
+ { AFCLEX, ynone, Px, {0xdb, 0xe2} },
+ { AFCOS, ynone, Px, {0xd9, 0xff} },
+ { AFDECSTP, ynone, Px, {0xd9, 0xf6} },
+ { AFINCSTP, ynone, Px, {0xd9, 0xf7} },
+ { AFINIT, ynone, Px, {0xdb, 0xe3} },
+ { AFLD1, ynone, Px, {0xd9, 0xe8} },
+ { AFLDL2E, ynone, Px, {0xd9, 0xea} },
+ { AFLDL2T, ynone, Px, {0xd9, 0xe9} },
+ { AFLDLG2, ynone, Px, {0xd9, 0xec} },
+ { AFLDLN2, ynone, Px, {0xd9, 0xed} },
+ { AFLDPI, ynone, Px, {0xd9, 0xeb} },
+ { AFLDZ, ynone, Px, {0xd9, 0xee} },
+ { AFNOP, ynone, Px, {0xd9, 0xd0} },
+ { AFPATAN, ynone, Px, {0xd9, 0xf3} },
+ { AFPREM, ynone, Px, {0xd9, 0xf8} },
+ { AFPREM1, ynone, Px, {0xd9, 0xf5} },
+ { AFPTAN, ynone, Px, {0xd9, 0xf2} },
+ { AFRNDINT, ynone, Px, {0xd9, 0xfc} },
+ { AFSCALE, ynone, Px, {0xd9, 0xfd} },
+ { AFSIN, ynone, Px, {0xd9, 0xfe} },
+ { AFSINCOS, ynone, Px, {0xd9, 0xfb} },
+ { AFSQRT, ynone, Px, {0xd9, 0xfa} },
+ { AFTST, ynone, Px, {0xd9, 0xe4} },
+ { AFXAM, ynone, Px, {0xd9, 0xe5} },
+ { AFXTRACT, ynone, Px, {0xd9, 0xf4} },
+ { AFYL2X, ynone, Px, {0xd9, 0xf1} },
+ { AFYL2XP1, ynone, Px, {0xd9, 0xf9} },
- { ACMPXCHGB, yrb_mb, Pb, 0x0f,0xb0 },
- { ACMPXCHGL, yrl_ml, Px, 0x0f,0xb1 },
- { ACMPXCHGW, yrl_ml, Pe, 0x0f,0xb1 },
- { ACMPXCHGQ, yrl_ml, Pw, 0x0f,0xb1 },
- { ACMPXCHG8B, yscond, Pm, 0xc7,(01) },
- { AINVD, ynone, Pm, 0x08 },
- { AINVLPG, ymbs, Pm, 0x01,(07) },
- { ALFENCE, ynone, Pm, 0xae,0xe8 },
- { AMFENCE, ynone, Pm, 0xae,0xf0 },
- { AMOVNTIL, yrl_ml, Pm, 0xc3 },
- { AMOVNTIQ, yrl_ml, Pw, 0x0f,0xc3 },
- { ARDMSR, ynone, Pm, 0x32 },
- { ARDPMC, ynone, Pm, 0x33 },
- { ARDTSC, ynone, Pm, 0x31 },
- { ARSM, ynone, Pm, 0xaa },
- { ASFENCE, ynone, Pm, 0xae,0xf8 },
- { ASYSRET, ynone, Pm, 0x07 },
- { AWBINVD, ynone, Pm, 0x09 },
- { AWRMSR, ynone, Pm, 0x30 },
+ { ACMPXCHGB, yrb_mb, Pb, {0x0f,0xb0} },
+ { ACMPXCHGL, yrl_ml, Px, {0x0f,0xb1} },
+ { ACMPXCHGW, yrl_ml, Pe, {0x0f,0xb1} },
+ { ACMPXCHGQ, yrl_ml, Pw, {0x0f,0xb1} },
+ { ACMPXCHG8B, yscond, Pm, {0xc7,(01)} },
+ { AINVD, ynone, Pm, {0x08} },
+ { AINVLPG, ymbs, Pm, {0x01,(07)} },
+ { ALFENCE, ynone, Pm, {0xae,0xe8} },
+ { AMFENCE, ynone, Pm, {0xae,0xf0} },
+ { AMOVNTIL, yrl_ml, Pm, {0xc3} },
+ { AMOVNTIQ, yrl_ml, Pw, {0x0f,0xc3} },
+ { ARDMSR, ynone, Pm, {0x32} },
+ { ARDPMC, ynone, Pm, {0x33} },
+ { ARDTSC, ynone, Pm, {0x31} },
+ { ARSM, ynone, Pm, {0xaa} },
+ { ASFENCE, ynone, Pm, {0xae,0xf8} },
+ { ASYSRET, ynone, Pm, {0x07} },
+ { AWBINVD, ynone, Pm, {0x09} },
+ { AWRMSR, ynone, Pm, {0x30} },
- { AXADDB, yrb_mb, Pb, 0x0f,0xc0 },
- { AXADDL, yrl_ml, Px, 0x0f,0xc1 },
- { AXADDQ, yrl_ml, Pw, 0x0f,0xc1 },
- { AXADDW, yrl_ml, Pe, 0x0f,0xc1 },
+ { AXADDB, yrb_mb, Pb, {0x0f,0xc0} },
+ { AXADDL, yrl_ml, Px, {0x0f,0xc1} },
+ { AXADDQ, yrl_ml, Pw, {0x0f,0xc1} },
+ { AXADDW, yrl_ml, Pe, {0x0f,0xc1} },
- { ACRC32B, ycrc32l,Px, 0xf2,0x0f,0x38,0xf0,0 },
- { ACRC32Q, ycrc32l,Pw, 0xf2,0x0f,0x38,0xf1,0 },
+ { ACRC32B, ycrc32l,Px, {0xf2,0x0f,0x38,0xf0,0} },
+ { ACRC32Q, ycrc32l,Pw, {0xf2,0x0f,0x38,0xf1,0} },
- { APREFETCHT0, yprefetch, Pm, 0x18,(01) },
- { APREFETCHT1, yprefetch, Pm, 0x18,(02) },
- { APREFETCHT2, yprefetch, Pm, 0x18,(03) },
- { APREFETCHNTA, yprefetch, Pm, 0x18,(00) },
+ { APREFETCHT0, yprefetch, Pm, {0x18,(01)} },
+ { APREFETCHT1, yprefetch, Pm, {0x18,(02)} },
+ { APREFETCHT2, yprefetch, Pm, {0x18,(03)} },
+ { APREFETCHNTA, yprefetch, Pm, {0x18,(00)} },
- { AMOVQL, yrl_ml, Px, 0x89 },
+ { AMOVQL, yrl_ml, Px, {0x89} },
- { AUNDEF, ynone, Px, 0x0f, 0x0b },
+ { AUNDEF, ynone, Px, {0x0f, 0x0b} },
- { AAESENC, yaes, Pq, 0x38,0xdc,(0) },
- { AAESENCLAST, yaes, Pq, 0x38,0xdd,(0) },
- { AAESDEC, yaes, Pq, 0x38,0xde,(0) },
- { AAESDECLAST, yaes, Pq, 0x38,0xdf,(0) },
- { AAESIMC, yaes, Pq, 0x38,0xdb,(0) },
- { AAESKEYGENASSIST, yaes2, Pq, 0x3a,0xdf,(0) },
+ { AAESENC, yaes, Pq, {0x38,0xdc,(0)} },
+ { AAESENCLAST, yaes, Pq, {0x38,0xdd,(0)} },
+ { AAESDEC, yaes, Pq, {0x38,0xde,(0)} },
+ { AAESDECLAST, yaes, Pq, {0x38,0xdf,(0)} },
+ { AAESIMC, yaes, Pq, {0x38,0xdb,(0)} },
+ { AAESKEYGENASSIST, yaes2, Pq, {0x3a,0xdf,(0)} },
- { APSHUFD, yaes2, Pq, 0x70,(0) },
- { APCLMULQDQ, yxshuf, Pq, 0x3a,0x44,0 },
+ { APSHUFD, yaes2, Pq, {0x70,(0)} },
+ { APCLMULQDQ, yxshuf, Pq, {0x3a,0x44,0} },
- { AUSEFIELD, ynop, Px, 0,0 },
+ { AUSEFIELD, ynop, Px, {0,0} },
{ ATYPE },
- { AFUNCDATA, yfuncdata, Px, 0,0 },
- { APCDATA, ypcdata, Px, 0,0 },
+ { AFUNCDATA, yfuncdata, Px, {0,0} },
+ { APCDATA, ypcdata, Px, {0,0} },
{ ACHECKNIL },
{ AVARDEF },
{ AVARKILL },
- { ADUFFCOPY, yduff, Px, 0xe8 },
- { ADUFFZERO, yduff, Px, 0xe8 },
+ { ADUFFCOPY, yduff, Px, {0xe8} },
+ { ADUFFZERO, yduff, Px, {0xe8} },
{ AEND },
- 0
+ {0}
};
static Optab* opindex[ALAST+1];
@@ -2492,139 +2492,141 @@
}
}
-#define E 0xff
+enum {
+ E = 0xff,
+};
static Movtab ymovtab[] =
{
/* push */
- {APUSHL, Ycs, Ynone, 0, 0x0e,E,0,0},
- {APUSHL, Yss, Ynone, 0, 0x16,E,0,0},
- {APUSHL, Yds, Ynone, 0, 0x1e,E,0,0},
- {APUSHL, Yes, Ynone, 0, 0x06,E,0,0},
- {APUSHL, Yfs, Ynone, 0, 0x0f,0xa0,E,0},
- {APUSHL, Ygs, Ynone, 0, 0x0f,0xa8,E,0},
- {APUSHQ, Yfs, Ynone, 0, 0x0f,0xa0,E,0},
- {APUSHQ, Ygs, Ynone, 0, 0x0f,0xa8,E,0},
+ {APUSHL, Ycs, Ynone, 0, {0x0e,E,0,0}},
+ {APUSHL, Yss, Ynone, 0, {0x16,E,0,0}},
+ {APUSHL, Yds, Ynone, 0, {0x1e,E,0,0}},
+ {APUSHL, Yes, Ynone, 0, {0x06,E,0,0}},
+ {APUSHL, Yfs, Ynone, 0, {0x0f,0xa0,E,0}},
+ {APUSHL, Ygs, Ynone, 0, {0x0f,0xa8,E,0}},
+ {APUSHQ, Yfs, Ynone, 0, {0x0f,0xa0,E,0}},
+ {APUSHQ, Ygs, Ynone, 0, {0x0f,0xa8,E,0}},
- {APUSHW, Ycs, Ynone, 0, Pe,0x0e,E,0},
- {APUSHW, Yss, Ynone, 0, Pe,0x16,E,0},
- {APUSHW, Yds, Ynone, 0, Pe,0x1e,E,0},
- {APUSHW, Yes, Ynone, 0, Pe,0x06,E,0},
- {APUSHW, Yfs, Ynone, 0, Pe,0x0f,0xa0,E},
- {APUSHW, Ygs, Ynone, 0, Pe,0x0f,0xa8,E},
+ {APUSHW, Ycs, Ynone, 0, {Pe,0x0e,E,0}},
+ {APUSHW, Yss, Ynone, 0, {Pe,0x16,E,0}},
+ {APUSHW, Yds, Ynone, 0, {Pe,0x1e,E,0}},
+ {APUSHW, Yes, Ynone, 0, {Pe,0x06,E,0}},
+ {APUSHW, Yfs, Ynone, 0, {Pe,0x0f,0xa0,E}},
+ {APUSHW, Ygs, Ynone, 0, {Pe,0x0f,0xa8,E}},
/* pop */
- {APOPL, Ynone, Yds, 0, 0x1f,E,0,0},
- {APOPL, Ynone, Yes, 0, 0x07,E,0,0},
- {APOPL, Ynone, Yss, 0, 0x17,E,0,0},
- {APOPL, Ynone, Yfs, 0, 0x0f,0xa1,E,0},
- {APOPL, Ynone, Ygs, 0, 0x0f,0xa9,E,0},
- {APOPQ, Ynone, Yfs, 0, 0x0f,0xa1,E,0},
- {APOPQ, Ynone, Ygs, 0, 0x0f,0xa9,E,0},
+ {APOPL, Ynone, Yds, 0, {0x1f,E,0,0}},
+ {APOPL, Ynone, Yes, 0, {0x07,E,0,0}},
+ {APOPL, Ynone, Yss, 0, {0x17,E,0,0}},
+ {APOPL, Ynone, Yfs, 0, {0x0f,0xa1,E,0}},
+ {APOPL, Ynone, Ygs, 0, {0x0f,0xa9,E,0}},
+ {APOPQ, Ynone, Yfs, 0, {0x0f,0xa1,E,0}},
+ {APOPQ, Ynone, Ygs, 0, {0x0f,0xa9,E,0}},
- {APOPW, Ynone, Yds, 0, Pe,0x1f,E,0},
- {APOPW, Ynone, Yes, 0, Pe,0x07,E,0},
- {APOPW, Ynone, Yss, 0, Pe,0x17,E,0},
- {APOPW, Ynone, Yfs, 0, Pe,0x0f,0xa1,E},
- {APOPW, Ynone, Ygs, 0, Pe,0x0f,0xa9,E},
+ {APOPW, Ynone, Yds, 0, {Pe,0x1f,E,0}},
+ {APOPW, Ynone, Yes, 0, {Pe,0x07,E,0}},
+ {APOPW, Ynone, Yss, 0, {Pe,0x17,E,0}},
+ {APOPW, Ynone, Yfs, 0, {Pe,0x0f,0xa1,E}},
+ {APOPW, Ynone, Ygs, 0, {Pe,0x0f,0xa9,E}},
/* mov seg */
- {AMOVW, Yes, Yml, 1, 0x8c,0,0,0},
- {AMOVW, Ycs, Yml, 1, 0x8c,1,0,0},
- {AMOVW, Yss, Yml, 1, 0x8c,2,0,0},
- {AMOVW, Yds, Yml, 1, 0x8c,3,0,0},
- {AMOVW, Yfs, Yml, 1, 0x8c,4,0,0},
- {AMOVW, Ygs, Yml, 1, 0x8c,5,0,0},
+ {AMOVW, Yes, Yml, 1, {0x8c,0,0,0}},
+ {AMOVW, Ycs, Yml, 1, {0x8c,1,0,0}},
+ {AMOVW, Yss, Yml, 1, {0x8c,2,0,0}},
+ {AMOVW, Yds, Yml, 1, {0x8c,3,0,0}},
+ {AMOVW, Yfs, Yml, 1, {0x8c,4,0,0}},
+ {AMOVW, Ygs, Yml, 1, {0x8c,5,0,0}},
- {AMOVW, Yml, Yes, 2, 0x8e,0,0,0},
- {AMOVW, Yml, Ycs, 2, 0x8e,1,0,0},
- {AMOVW, Yml, Yss, 2, 0x8e,2,0,0},
- {AMOVW, Yml, Yds, 2, 0x8e,3,0,0},
- {AMOVW, Yml, Yfs, 2, 0x8e,4,0,0},
- {AMOVW, Yml, Ygs, 2, 0x8e,5,0,0},
+ {AMOVW, Yml, Yes, 2, {0x8e,0,0,0}},
+ {AMOVW, Yml, Ycs, 2, {0x8e,1,0,0}},
+ {AMOVW, Yml, Yss, 2, {0x8e,2,0,0}},
+ {AMOVW, Yml, Yds, 2, {0x8e,3,0,0}},
+ {AMOVW, Yml, Yfs, 2, {0x8e,4,0,0}},
+ {AMOVW, Yml, Ygs, 2, {0x8e,5,0,0}},
/* mov cr */
- {AMOVL, Ycr0, Yml, 3, 0x0f,0x20,0,0},
- {AMOVL, Ycr2, Yml, 3, 0x0f,0x20,2,0},
- {AMOVL, Ycr3, Yml, 3, 0x0f,0x20,3,0},
- {AMOVL, Ycr4, Yml, 3, 0x0f,0x20,4,0},
- {AMOVL, Ycr8, Yml, 3, 0x0f,0x20,8,0},
- {AMOVQ, Ycr0, Yml, 3, 0x0f,0x20,0,0},
- {AMOVQ, Ycr2, Yml, 3, 0x0f,0x20,2,0},
- {AMOVQ, Ycr3, Yml, 3, 0x0f,0x20,3,0},
- {AMOVQ, Ycr4, Yml, 3, 0x0f,0x20,4,0},
- {AMOVQ, Ycr8, Yml, 3, 0x0f,0x20,8,0},
+ {AMOVL, Ycr0, Yml, 3, {0x0f,0x20,0,0}},
+ {AMOVL, Ycr2, Yml, 3, {0x0f,0x20,2,0}},
+ {AMOVL, Ycr3, Yml, 3, {0x0f,0x20,3,0}},
+ {AMOVL, Ycr4, Yml, 3, {0x0f,0x20,4,0}},
+ {AMOVL, Ycr8, Yml, 3, {0x0f,0x20,8,0}},
+ {AMOVQ, Ycr0, Yml, 3, {0x0f,0x20,0,0}},
+ {AMOVQ, Ycr2, Yml, 3, {0x0f,0x20,2,0}},
+ {AMOVQ, Ycr3, Yml, 3, {0x0f,0x20,3,0}},
+ {AMOVQ, Ycr4, Yml, 3, {0x0f,0x20,4,0}},
+ {AMOVQ, Ycr8, Yml, 3, {0x0f,0x20,8,0}},
- {AMOVL, Yml, Ycr0, 4, 0x0f,0x22,0,0},
- {AMOVL, Yml, Ycr2, 4, 0x0f,0x22,2,0},
- {AMOVL, Yml, Ycr3, 4, 0x0f,0x22,3,0},
- {AMOVL, Yml, Ycr4, 4, 0x0f,0x22,4,0},
- {AMOVL, Yml, Ycr8, 4, 0x0f,0x22,8,0},
- {AMOVQ, Yml, Ycr0, 4, 0x0f,0x22,0,0},
- {AMOVQ, Yml, Ycr2, 4, 0x0f,0x22,2,0},
- {AMOVQ, Yml, Ycr3, 4, 0x0f,0x22,3,0},
- {AMOVQ, Yml, Ycr4, 4, 0x0f,0x22,4,0},
- {AMOVQ, Yml, Ycr8, 4, 0x0f,0x22,8,0},
+ {AMOVL, Yml, Ycr0, 4, {0x0f,0x22,0,0}},
+ {AMOVL, Yml, Ycr2, 4, {0x0f,0x22,2,0}},
+ {AMOVL, Yml, Ycr3, 4, {0x0f,0x22,3,0}},
+ {AMOVL, Yml, Ycr4, 4, {0x0f,0x22,4,0}},
+ {AMOVL, Yml, Ycr8, 4, {0x0f,0x22,8,0}},
+ {AMOVQ, Yml, Ycr0, 4, {0x0f,0x22,0,0}},
+ {AMOVQ, Yml, Ycr2, 4, {0x0f,0x22,2,0}},
+ {AMOVQ, Yml, Ycr3, 4, {0x0f,0x22,3,0}},
+ {AMOVQ, Yml, Ycr4, 4, {0x0f,0x22,4,0}},
+ {AMOVQ, Yml, Ycr8, 4, {0x0f,0x22,8,0}},
/* mov dr */
- {AMOVL, Ydr0, Yml, 3, 0x0f,0x21,0,0},
- {AMOVL, Ydr6, Yml, 3, 0x0f,0x21,6,0},
- {AMOVL, Ydr7, Yml, 3, 0x0f,0x21,7,0},
- {AMOVQ, Ydr0, Yml, 3, 0x0f,0x21,0,0},
- {AMOVQ, Ydr6, Yml, 3, 0x0f,0x21,6,0},
- {AMOVQ, Ydr7, Yml, 3, 0x0f,0x21,7,0},
+ {AMOVL, Ydr0, Yml, 3, {0x0f,0x21,0,0}},
+ {AMOVL, Ydr6, Yml, 3, {0x0f,0x21,6,0}},
+ {AMOVL, Ydr7, Yml, 3, {0x0f,0x21,7,0}},
+ {AMOVQ, Ydr0, Yml, 3, {0x0f,0x21,0,0}},
+ {AMOVQ, Ydr6, Yml, 3, {0x0f,0x21,6,0}},
+ {AMOVQ, Ydr7, Yml, 3, {0x0f,0x21,7,0}},
- {AMOVL, Yml, Ydr0, 4, 0x0f,0x23,0,0},
- {AMOVL, Yml, Ydr6, 4, 0x0f,0x23,6,0},
- {AMOVL, Yml, Ydr7, 4, 0x0f,0x23,7,0},
- {AMOVQ, Yml, Ydr0, 4, 0x0f,0x23,0,0},
- {AMOVQ, Yml, Ydr6, 4, 0x0f,0x23,6,0},
- {AMOVQ, Yml, Ydr7, 4, 0x0f,0x23,7,0},
+ {AMOVL, Yml, Ydr0, 4, {0x0f,0x23,0,0}},
+ {AMOVL, Yml, Ydr6, 4, {0x0f,0x23,6,0}},
+ {AMOVL, Yml, Ydr7, 4, {0x0f,0x23,7,0}},
+ {AMOVQ, Yml, Ydr0, 4, {0x0f,0x23,0,0}},
+ {AMOVQ, Yml, Ydr6, 4, {0x0f,0x23,6,0}},
+ {AMOVQ, Yml, Ydr7, 4, {0x0f,0x23,7,0}},
/* mov tr */
- {AMOVL, Ytr6, Yml, 3, 0x0f,0x24,6,0},
- {AMOVL, Ytr7, Yml, 3, 0x0f,0x24,7,0},
+ {AMOVL, Ytr6, Yml, 3, {0x0f,0x24,6,0}},
+ {AMOVL, Ytr7, Yml, 3, {0x0f,0x24,7,0}},
- {AMOVL, Yml, Ytr6, 4, 0x0f,0x26,6,E},
- {AMOVL, Yml, Ytr7, 4, 0x0f,0x26,7,E},
+ {AMOVL, Yml, Ytr6, 4, {0x0f,0x26,6,E}},
+ {AMOVL, Yml, Ytr7, 4, {0x0f,0x26,7,E}},
/* lgdt, sgdt, lidt, sidt */
- {AMOVL, Ym, Ygdtr, 4, 0x0f,0x01,2,0},
- {AMOVL, Ygdtr, Ym, 3, 0x0f,0x01,0,0},
- {AMOVL, Ym, Yidtr, 4, 0x0f,0x01,3,0},
- {AMOVL, Yidtr, Ym, 3, 0x0f,0x01,1,0},
- {AMOVQ, Ym, Ygdtr, 4, 0x0f,0x01,2,0},
- {AMOVQ, Ygdtr, Ym, 3, 0x0f,0x01,0,0},
- {AMOVQ, Ym, Yidtr, 4, 0x0f,0x01,3,0},
- {AMOVQ, Yidtr, Ym, 3, 0x0f,0x01,1,0},
+ {AMOVL, Ym, Ygdtr, 4, {0x0f,0x01,2,0}},
+ {AMOVL, Ygdtr, Ym, 3, {0x0f,0x01,0,0}},
+ {AMOVL, Ym, Yidtr, 4, {0x0f,0x01,3,0}},
+ {AMOVL, Yidtr, Ym, 3, {0x0f,0x01,1,0}},
+ {AMOVQ, Ym, Ygdtr, 4, {0x0f,0x01,2,0}},
+ {AMOVQ, Ygdtr, Ym, 3, {0x0f,0x01,0,0}},
+ {AMOVQ, Ym, Yidtr, 4, {0x0f,0x01,3,0}},
+ {AMOVQ, Yidtr, Ym, 3, {0x0f,0x01,1,0}},
/* lldt, sldt */
- {AMOVW, Yml, Yldtr, 4, 0x0f,0x00,2,0},
- {AMOVW, Yldtr, Yml, 3, 0x0f,0x00,0,0},
+ {AMOVW, Yml, Yldtr, 4, {0x0f,0x00,2,0}},
+ {AMOVW, Yldtr, Yml, 3, {0x0f,0x00,0,0}},
/* lmsw, smsw */
- {AMOVW, Yml, Ymsw, 4, 0x0f,0x01,6,0},
- {AMOVW, Ymsw, Yml, 3, 0x0f,0x01,4,0},
+ {AMOVW, Yml, Ymsw, 4, {0x0f,0x01,6,0}},
+ {AMOVW, Ymsw, Yml, 3, {0x0f,0x01,4,0}},
/* ltr, str */
- {AMOVW, Yml, Ytask, 4, 0x0f,0x00,3,0},
- {AMOVW, Ytask, Yml, 3, 0x0f,0x00,1,0},
+ {AMOVW, Yml, Ytask, 4, {0x0f,0x00,3,0}},
+ {AMOVW, Ytask, Yml, 3, {0x0f,0x00,1,0}},
/* load full pointer */
- {AMOVL, Yml, Ycol, 5, 0,0,0,0},
- {AMOVW, Yml, Ycol, 5, Pe,0,0,0},
+ {AMOVL, Yml, Ycol, 5, {0,0,0,0}},
+ {AMOVW, Yml, Ycol, 5, {Pe,0,0,0}},
/* double shift */
- {ASHLL, Ycol, Yml, 6, 0xa4,0xa5,0,0},
- {ASHRL, Ycol, Yml, 6, 0xac,0xad,0,0},
- {ASHLQ, Ycol, Yml, 6, Pw,0xa4,0xa5,0},
- {ASHRQ, Ycol, Yml, 6, Pw,0xac,0xad,0},
- {ASHLW, Ycol, Yml, 6, Pe,0xa4,0xa5,0},
- {ASHRW, Ycol, Yml, 6, Pe,0xac,0xad,0},
+ {ASHLL, Ycol, Yml, 6, {0xa4,0xa5,0,0}},
+ {ASHRL, Ycol, Yml, 6, {0xac,0xad,0,0}},
+ {ASHLQ, Ycol, Yml, 6, {Pw,0xa4,0xa5,0}},
+ {ASHRQ, Ycol, Yml, 6, {Pw,0xac,0xad,0}},
+ {ASHLW, Ycol, Yml, 6, {Pe,0xa4,0xa5,0}},
+ {ASHRW, Ycol, Yml, 6, {Pe,0xac,0xad,0}},
/* load TLS base */
- {AMOVQ, Ytls, Yrl, 7, 0,0,0,0},
+ {AMOVQ, Ytls, Yrl, 7, {0,0,0,0}},
- 0
+ {0}
};
static int
diff --git a/src/liblink/asm8.c b/src/liblink/asm8.c
index 62ef41e..3414e5c 100644
--- a/src/liblink/asm8.c
+++ b/src/liblink/asm8.c
@@ -617,548 +617,548 @@
/* as, ytab, andproto, opcode */
{
{ AXXX },
- { AAAA, ynone, Px, 0x37 },
- { AAAD, ynone, Px, 0xd5,0x0a },
- { AAAM, ynone, Px, 0xd4,0x0a },
- { AAAS, ynone, Px, 0x3f },
- { AADCB, yxorb, Pb, 0x14,0x80,(02),0x10,0x10 },
- { AADCL, yxorl, Px, 0x83,(02),0x15,0x81,(02),0x11,0x13 },
- { AADCW, yxorl, Pe, 0x83,(02),0x15,0x81,(02),0x11,0x13 },
- { AADDB, yxorb, Px, 0x04,0x80,(00),0x00,0x02 },
- { AADDL, yaddl, Px, 0x83,(00),0x05,0x81,(00),0x01,0x03 },
- { AADDW, yaddl, Pe, 0x83,(00),0x05,0x81,(00),0x01,0x03 },
+ { AAAA, ynone, Px, {0x37} },
+ { AAAD, ynone, Px, {0xd5,0x0a} },
+ { AAAM, ynone, Px, {0xd4,0x0a} },
+ { AAAS, ynone, Px, {0x3f} },
+ { AADCB, yxorb, Pb, {0x14,0x80,(02),0x10,0x10} },
+ { AADCL, yxorl, Px, {0x83,(02),0x15,0x81,(02),0x11,0x13} },
+ { AADCW, yxorl, Pe, {0x83,(02),0x15,0x81,(02),0x11,0x13} },
+ { AADDB, yxorb, Px, {0x04,0x80,(00),0x00,0x02} },
+ { AADDL, yaddl, Px, {0x83,(00),0x05,0x81,(00),0x01,0x03} },
+ { AADDW, yaddl, Pe, {0x83,(00),0x05,0x81,(00),0x01,0x03} },
{ AADJSP },
- { AANDB, yxorb, Pb, 0x24,0x80,(04),0x20,0x22 },
- { AANDL, yxorl, Px, 0x83,(04),0x25,0x81,(04),0x21,0x23 },
- { AANDW, yxorl, Pe, 0x83,(04),0x25,0x81,(04),0x21,0x23 },
- { AARPL, yrl_ml, Px, 0x63 },
- { ABOUNDL, yrl_m, Px, 0x62 },
- { ABOUNDW, yrl_m, Pe, 0x62 },
- { ABSFL, yml_rl, Pm, 0xbc },
- { ABSFW, yml_rl, Pq, 0xbc },
- { ABSRL, yml_rl, Pm, 0xbd },
- { ABSRW, yml_rl, Pq, 0xbd },
- { ABTL, yml_rl, Pm, 0xa3 },
- { ABTW, yml_rl, Pq, 0xa3 },
- { ABTCL, yml_rl, Pm, 0xbb },
- { ABTCW, yml_rl, Pq, 0xbb },
- { ABTRL, yml_rl, Pm, 0xb3 },
- { ABTRW, yml_rl, Pq, 0xb3 },
- { ABTSL, yml_rl, Pm, 0xab },
- { ABTSW, yml_rl, Pq, 0xab },
- { ABYTE, ybyte, Px, 1 },
- { ACALL, ycall, Px, 0xff,(02),0xff,(0x15),0xe8 },
- { ACLC, ynone, Px, 0xf8 },
- { ACLD, ynone, Px, 0xfc },
- { ACLI, ynone, Px, 0xfa },
- { ACLTS, ynone, Pm, 0x06 },
- { ACMC, ynone, Px, 0xf5 },
- { ACMPB, ycmpb, Pb, 0x3c,0x80,(07),0x38,0x3a },
- { ACMPL, ycmpl, Px, 0x83,(07),0x3d,0x81,(07),0x39,0x3b },
- { ACMPW, ycmpl, Pe, 0x83,(07),0x3d,0x81,(07),0x39,0x3b },
- { ACMPSB, ynone, Pb, 0xa6 },
- { ACMPSL, ynone, Px, 0xa7 },
- { ACMPSW, ynone, Pe, 0xa7 },
- { ADAA, ynone, Px, 0x27 },
- { ADAS, ynone, Px, 0x2f },
+ { AANDB, yxorb, Pb, {0x24,0x80,(04),0x20,0x22} },
+ { AANDL, yxorl, Px, {0x83,(04),0x25,0x81,(04),0x21,0x23} },
+ { AANDW, yxorl, Pe, {0x83,(04),0x25,0x81,(04),0x21,0x23} },
+ { AARPL, yrl_ml, Px, {0x63} },
+ { ABOUNDL, yrl_m, Px, {0x62} },
+ { ABOUNDW, yrl_m, Pe, {0x62} },
+ { ABSFL, yml_rl, Pm, {0xbc} },
+ { ABSFW, yml_rl, Pq, {0xbc} },
+ { ABSRL, yml_rl, Pm, {0xbd} },
+ { ABSRW, yml_rl, Pq, {0xbd} },
+ { ABTL, yml_rl, Pm, {0xa3} },
+ { ABTW, yml_rl, Pq, {0xa3} },
+ { ABTCL, yml_rl, Pm, {0xbb} },
+ { ABTCW, yml_rl, Pq, {0xbb} },
+ { ABTRL, yml_rl, Pm, {0xb3} },
+ { ABTRW, yml_rl, Pq, {0xb3} },
+ { ABTSL, yml_rl, Pm, {0xab} },
+ { ABTSW, yml_rl, Pq, {0xab} },
+ { ABYTE, ybyte, Px, {1} },
+ { ACALL, ycall, Px, {0xff,(02),0xff,(0x15),0xe8} },
+ { ACLC, ynone, Px, {0xf8} },
+ { ACLD, ynone, Px, {0xfc} },
+ { ACLI, ynone, Px, {0xfa} },
+ { ACLTS, ynone, Pm, {0x06} },
+ { ACMC, ynone, Px, {0xf5} },
+ { ACMPB, ycmpb, Pb, {0x3c,0x80,(07),0x38,0x3a} },
+ { ACMPL, ycmpl, Px, {0x83,(07),0x3d,0x81,(07),0x39,0x3b} },
+ { ACMPW, ycmpl, Pe, {0x83,(07),0x3d,0x81,(07),0x39,0x3b} },
+ { ACMPSB, ynone, Pb, {0xa6} },
+ { ACMPSL, ynone, Px, {0xa7} },
+ { ACMPSW, ynone, Pe, {0xa7} },
+ { ADAA, ynone, Px, {0x27} },
+ { ADAS, ynone, Px, {0x2f} },
{ ADATA },
- { ADECB, yincb, Pb, 0xfe,(01) },
- { ADECL, yincl, Px, 0x48,0xff,(01) },
- { ADECW, yincl, Pe, 0x48,0xff,(01) },
- { ADIVB, ydivb, Pb, 0xf6,(06) },
- { ADIVL, ydivl, Px, 0xf7,(06) },
- { ADIVW, ydivl, Pe, 0xf7,(06) },
+ { ADECB, yincb, Pb, {0xfe,(01)} },
+ { ADECL, yincl, Px, {0x48,0xff,(01)} },
+ { ADECW, yincl, Pe, {0x48,0xff,(01)} },
+ { ADIVB, ydivb, Pb, {0xf6,(06)} },
+ { ADIVL, ydivl, Px, {0xf7,(06)} },
+ { ADIVW, ydivl, Pe, {0xf7,(06)} },
{ AENTER }, /* botch */
{ AGLOBL },
{ AGOK },
{ AHISTORY },
- { AHLT, ynone, Px, 0xf4 },
- { AIDIVB, ydivb, Pb, 0xf6,(07) },
- { AIDIVL, ydivl, Px, 0xf7,(07) },
- { AIDIVW, ydivl, Pe, 0xf7,(07) },
- { AIMULB, ydivb, Pb, 0xf6,(05) },
- { AIMULL, yimul, Px, 0xf7,(05),0x6b,0x69 },
- { AIMULW, yimul, Pe, 0xf7,(05),0x6b,0x69 },
- { AINB, yin, Pb, 0xe4,0xec },
- { AINL, yin, Px, 0xe5,0xed },
- { AINW, yin, Pe, 0xe5,0xed },
- { AINCB, yincb, Pb, 0xfe,(00) },
- { AINCL, yincl, Px, 0x40,0xff,(00) },
- { AINCW, yincl, Pe, 0x40,0xff,(00) },
- { AINSB, ynone, Pb, 0x6c },
- { AINSL, ynone, Px, 0x6d },
- { AINSW, ynone, Pe, 0x6d },
- { AINT, yint, Px, 0xcd },
- { AINTO, ynone, Px, 0xce },
- { AIRETL, ynone, Px, 0xcf },
- { AIRETW, ynone, Pe, 0xcf },
- { AJCC, yjcond, Px, 0x73,0x83,(00) },
- { AJCS, yjcond, Px, 0x72,0x82 },
- { AJCXZL, yloop, Px, 0xe3 },
- { AJCXZW, yloop, Px, 0xe3 },
- { AJEQ, yjcond, Px, 0x74,0x84 },
- { AJGE, yjcond, Px, 0x7d,0x8d },
- { AJGT, yjcond, Px, 0x7f,0x8f },
- { AJHI, yjcond, Px, 0x77,0x87 },
- { AJLE, yjcond, Px, 0x7e,0x8e },
- { AJLS, yjcond, Px, 0x76,0x86 },
- { AJLT, yjcond, Px, 0x7c,0x8c },
- { AJMI, yjcond, Px, 0x78,0x88 },
- { AJMP, yjmp, Px, 0xff,(04),0xeb,0xe9 },
- { AJNE, yjcond, Px, 0x75,0x85 },
- { AJOC, yjcond, Px, 0x71,0x81,(00) },
- { AJOS, yjcond, Px, 0x70,0x80,(00) },
- { AJPC, yjcond, Px, 0x7b,0x8b },
- { AJPL, yjcond, Px, 0x79,0x89 },
- { AJPS, yjcond, Px, 0x7a,0x8a },
- { ALAHF, ynone, Px, 0x9f },
- { ALARL, yml_rl, Pm, 0x02 },
- { ALARW, yml_rl, Pq, 0x02 },
- { ALEAL, ym_rl, Px, 0x8d },
- { ALEAW, ym_rl, Pe, 0x8d },
- { ALEAVEL, ynone, Px, 0xc9 },
- { ALEAVEW, ynone, Pe, 0xc9 },
- { ALOCK, ynone, Px, 0xf0 },
- { ALODSB, ynone, Pb, 0xac },
- { ALODSL, ynone, Px, 0xad },
- { ALODSW, ynone, Pe, 0xad },
- { ALONG, ybyte, Px, 4 },
- { ALOOP, yloop, Px, 0xe2 },
- { ALOOPEQ, yloop, Px, 0xe1 },
- { ALOOPNE, yloop, Px, 0xe0 },
- { ALSLL, yml_rl, Pm, 0x03 },
- { ALSLW, yml_rl, Pq, 0x03 },
- { AMOVB, ymovb, Pb, 0x88,0x8a,0xb0,0xc6,(00) },
- { AMOVL, ymovl, Px, 0x89,0x8b,0x31,0x83,(04),0xb8,0xc7,(00),Pe,0x6e,Pe,0x7e,0 },
- { AMOVW, ymovw, Pe, 0x89,0x8b,0x31,0x83,(04),0xb8,0xc7,(00),0 },
- { AMOVQ, ymovq, Pf3, 0x7e },
- { AMOVBLSX, ymb_rl, Pm, 0xbe },
- { AMOVBLZX, ymb_rl, Pm, 0xb6 },
- { AMOVBWSX, ymb_rl, Pq, 0xbe },
- { AMOVBWZX, ymb_rl, Pq, 0xb6 },
- { AMOVWLSX, yml_rl, Pm, 0xbf },
- { AMOVWLZX, yml_rl, Pm, 0xb7 },
- { AMOVSB, ynone, Pb, 0xa4 },
- { AMOVSL, ynone, Px, 0xa5 },
- { AMOVSW, ynone, Pe, 0xa5 },
- { AMULB, ydivb, Pb, 0xf6,(04) },
- { AMULL, ydivl, Px, 0xf7,(04) },
- { AMULW, ydivl, Pe, 0xf7,(04) },
+ { AHLT, ynone, Px, {0xf4} },
+ { AIDIVB, ydivb, Pb, {0xf6,(07)} },
+ { AIDIVL, ydivl, Px, {0xf7,(07)} },
+ { AIDIVW, ydivl, Pe, {0xf7,(07)} },
+ { AIMULB, ydivb, Pb, {0xf6,(05)} },
+ { AIMULL, yimul, Px, {0xf7,(05),0x6b,0x69} },
+ { AIMULW, yimul, Pe, {0xf7,(05),0x6b,0x69} },
+ { AINB, yin, Pb, {0xe4,0xec} },
+ { AINL, yin, Px, {0xe5,0xed} },
+ { AINW, yin, Pe, {0xe5,0xed} },
+ { AINCB, yincb, Pb, {0xfe,(00)} },
+ { AINCL, yincl, Px, {0x40,0xff,(00)} },
+ { AINCW, yincl, Pe, {0x40,0xff,(00)} },
+ { AINSB, ynone, Pb, {0x6c} },
+ { AINSL, ynone, Px, {0x6d} },
+ { AINSW, ynone, Pe, {0x6d} },
+ { AINT, yint, Px, {0xcd} },
+ { AINTO, ynone, Px, {0xce} },
+ { AIRETL, ynone, Px, {0xcf} },
+ { AIRETW, ynone, Pe, {0xcf} },
+ { AJCC, yjcond, Px, {0x73,0x83,(00)} },
+ { AJCS, yjcond, Px, {0x72,0x82} },
+ { AJCXZL, yloop, Px, {0xe3} },
+ { AJCXZW, yloop, Px, {0xe3} },
+ { AJEQ, yjcond, Px, {0x74,0x84} },
+ { AJGE, yjcond, Px, {0x7d,0x8d} },
+ { AJGT, yjcond, Px, {0x7f,0x8f} },
+ { AJHI, yjcond, Px, {0x77,0x87} },
+ { AJLE, yjcond, Px, {0x7e,0x8e} },
+ { AJLS, yjcond, Px, {0x76,0x86} },
+ { AJLT, yjcond, Px, {0x7c,0x8c} },
+ { AJMI, yjcond, Px, {0x78,0x88} },
+ { AJMP, yjmp, Px, {0xff,(04),0xeb,0xe9} },
+ { AJNE, yjcond, Px, {0x75,0x85} },
+ { AJOC, yjcond, Px, {0x71,0x81,(00)} },
+ { AJOS, yjcond, Px, {0x70,0x80,(00)} },
+ { AJPC, yjcond, Px, {0x7b,0x8b} },
+ { AJPL, yjcond, Px, {0x79,0x89} },
+ { AJPS, yjcond, Px, {0x7a,0x8a} },
+ { ALAHF, ynone, Px, {0x9f} },
+ { ALARL, yml_rl, Pm, {0x02} },
+ { ALARW, yml_rl, Pq, {0x02} },
+ { ALEAL, ym_rl, Px, {0x8d} },
+ { ALEAW, ym_rl, Pe, {0x8d} },
+ { ALEAVEL, ynone, Px, {0xc9} },
+ { ALEAVEW, ynone, Pe, {0xc9} },
+ { ALOCK, ynone, Px, {0xf0} },
+ { ALODSB, ynone, Pb, {0xac} },
+ { ALODSL, ynone, Px, {0xad} },
+ { ALODSW, ynone, Pe, {0xad} },
+ { ALONG, ybyte, Px, {4} },
+ { ALOOP, yloop, Px, {0xe2} },
+ { ALOOPEQ, yloop, Px, {0xe1} },
+ { ALOOPNE, yloop, Px, {0xe0} },
+ { ALSLL, yml_rl, Pm, {0x03 } },
+ { ALSLW, yml_rl, Pq, {0x03 } },
+ { AMOVB, ymovb, Pb, {0x88,0x8a,0xb0,0xc6,(00)} },
+ { AMOVL, ymovl, Px, {0x89,0x8b,0x31,0x83,(04),0xb8,0xc7,(00),Pe,0x6e,Pe,0x7e,0} },
+ { AMOVW, ymovw, Pe, {0x89,0x8b,0x31,0x83,(04),0xb8,0xc7,(00),0} },
+ { AMOVQ, ymovq, Pf3, {0x7e} },
+ { AMOVBLSX, ymb_rl, Pm, {0xbe} },
+ { AMOVBLZX, ymb_rl, Pm, {0xb6} },
+ { AMOVBWSX, ymb_rl, Pq, {0xbe} },
+ { AMOVBWZX, ymb_rl, Pq, {0xb6} },
+ { AMOVWLSX, yml_rl, Pm, {0xbf} },
+ { AMOVWLZX, yml_rl, Pm, {0xb7} },
+ { AMOVSB, ynone, Pb, {0xa4} },
+ { AMOVSL, ynone, Px, {0xa5} },
+ { AMOVSW, ynone, Pe, {0xa5} },
+ { AMULB, ydivb, Pb, {0xf6,(04)} },
+ { AMULL, ydivl, Px, {0xf7,(04)} },
+ { AMULW, ydivl, Pe, {0xf7,(04)} },
{ ANAME },
- { ANEGB, yscond, Px, 0xf6,(03) },
- { ANEGL, yscond, Px, 0xf7,(03) },
- { ANEGW, yscond, Pe, 0xf7,(03) },
- { ANOP, ynop, Px,0,0 },
- { ANOTB, yscond, Px, 0xf6,(02) },
- { ANOTL, yscond, Px, 0xf7,(02) },
- { ANOTW, yscond, Pe, 0xf7,(02) },
- { AORB, yxorb, Pb, 0x0c,0x80,(01),0x08,0x0a },
- { AORL, yxorl, Px, 0x83,(01),0x0d,0x81,(01),0x09,0x0b },
- { AORW, yxorl, Pe, 0x83,(01),0x0d,0x81,(01),0x09,0x0b },
- { AOUTB, yin, Pb, 0xe6,0xee },
- { AOUTL, yin, Px, 0xe7,0xef },
- { AOUTW, yin, Pe, 0xe7,0xef },
- { AOUTSB, ynone, Pb, 0x6e },
- { AOUTSL, ynone, Px, 0x6f },
- { AOUTSW, ynone, Pe, 0x6f },
- { APAUSE, ynone, Px, 0xf3,0x90 },
- { APOPAL, ynone, Px, 0x61 },
- { APOPAW, ynone, Pe, 0x61 },
- { APOPFL, ynone, Px, 0x9d },
- { APOPFW, ynone, Pe, 0x9d },
- { APOPL, ypopl, Px, 0x58,0x8f,(00) },
- { APOPW, ypopl, Pe, 0x58,0x8f,(00) },
- { APUSHAL, ynone, Px, 0x60 },
- { APUSHAW, ynone, Pe, 0x60 },
- { APUSHFL, ynone, Px, 0x9c },
- { APUSHFW, ynone, Pe, 0x9c },
- { APUSHL, ypushl, Px, 0x50,0xff,(06),0x6a,0x68 },
- { APUSHW, ypushl, Pe, 0x50,0xff,(06),0x6a,0x68 },
- { ARCLB, yshb, Pb, 0xd0,(02),0xc0,(02),0xd2,(02) },
- { ARCLL, yshl, Px, 0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02) },
- { ARCLW, yshl, Pe, 0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02) },
- { ARCRB, yshb, Pb, 0xd0,(03),0xc0,(03),0xd2,(03) },
- { ARCRL, yshl, Px, 0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03) },
- { ARCRW, yshl, Pe, 0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03) },
- { AREP, ynone, Px, 0xf3 },
- { AREPN, ynone, Px, 0xf2 },
- { ARET, ynone, Px, 0xc3 },
- { AROLB, yshb, Pb, 0xd0,(00),0xc0,(00),0xd2,(00) },
- { AROLL, yshl, Px, 0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00) },
- { AROLW, yshl, Pe, 0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00) },
- { ARORB, yshb, Pb, 0xd0,(01),0xc0,(01),0xd2,(01) },
- { ARORL, yshl, Px, 0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01) },
- { ARORW, yshl, Pe, 0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01) },
- { ASAHF, ynone, Px, 0x9e },
- { ASALB, yshb, Pb, 0xd0,(04),0xc0,(04),0xd2,(04) },
- { ASALL, yshl, Px, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
- { ASALW, yshl, Pe, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
- { ASARB, yshb, Pb, 0xd0,(07),0xc0,(07),0xd2,(07) },
- { ASARL, yshl, Px, 0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07) },
- { ASARW, yshl, Pe, 0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07) },
- { ASBBB, yxorb, Pb, 0x1c,0x80,(03),0x18,0x1a },
- { ASBBL, yxorl, Px, 0x83,(03),0x1d,0x81,(03),0x19,0x1b },
- { ASBBW, yxorl, Pe, 0x83,(03),0x1d,0x81,(03),0x19,0x1b },
- { ASCASB, ynone, Pb, 0xae },
- { ASCASL, ynone, Px, 0xaf },
- { ASCASW, ynone, Pe, 0xaf },
- { ASETCC, yscond, Pm, 0x93,(00) },
- { ASETCS, yscond, Pm, 0x92,(00) },
- { ASETEQ, yscond, Pm, 0x94,(00) },
- { ASETGE, yscond, Pm, 0x9d,(00) },
- { ASETGT, yscond, Pm, 0x9f,(00) },
- { ASETHI, yscond, Pm, 0x97,(00) },
- { ASETLE, yscond, Pm, 0x9e,(00) },
- { ASETLS, yscond, Pm, 0x96,(00) },
- { ASETLT, yscond, Pm, 0x9c,(00) },
- { ASETMI, yscond, Pm, 0x98,(00) },
- { ASETNE, yscond, Pm, 0x95,(00) },
- { ASETOC, yscond, Pm, 0x91,(00) },
- { ASETOS, yscond, Pm, 0x90,(00) },
- { ASETPC, yscond, Pm, 0x96,(00) },
- { ASETPL, yscond, Pm, 0x99,(00) },
- { ASETPS, yscond, Pm, 0x9a,(00) },
- { ACDQ, ynone, Px, 0x99 },
- { ACWD, ynone, Pe, 0x99 },
- { ASHLB, yshb, Pb, 0xd0,(04),0xc0,(04),0xd2,(04) },
- { ASHLL, yshl, Px, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
- { ASHLW, yshl, Pe, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
- { ASHRB, yshb, Pb, 0xd0,(05),0xc0,(05),0xd2,(05) },
- { ASHRL, yshl, Px, 0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05) },
- { ASHRW, yshl, Pe, 0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05) },
- { ASTC, ynone, Px, 0xf9 },
- { ASTD, ynone, Px, 0xfd },
- { ASTI, ynone, Px, 0xfb },
- { ASTOSB, ynone, Pb, 0xaa },
- { ASTOSL, ynone, Px, 0xab },
- { ASTOSW, ynone, Pe, 0xab },
- { ASUBB, yxorb, Pb, 0x2c,0x80,(05),0x28,0x2a },
- { ASUBL, yaddl, Px, 0x83,(05),0x2d,0x81,(05),0x29,0x2b },
- { ASUBW, yaddl, Pe, 0x83,(05),0x2d,0x81,(05),0x29,0x2b },
- { ASYSCALL, ynone, Px, 0xcd,100 },
- { ATESTB, ytestb, Pb, 0xa8,0xf6,(00),0x84,0x84 },
- { ATESTL, ytestl, Px, 0xa9,0xf7,(00),0x85,0x85 },
- { ATESTW, ytestl, Pe, 0xa9,0xf7,(00),0x85,0x85 },
+ { ANEGB, yscond, Px, {0xf6,(03)} },
+ { ANEGL, yscond, Px, {0xf7,(03)} },
+ { ANEGW, yscond, Pe, {0xf7,(03)} },
+ { ANOP, ynop, Px, {0,0} },
+ { ANOTB, yscond, Px, {0xf6,(02)} },
+ { ANOTL, yscond, Px, {0xf7,(02)} },
+ { ANOTW, yscond, Pe, {0xf7,(02)} },
+ { AORB, yxorb, Pb, {0x0c,0x80,(01),0x08,0x0a} },
+ { AORL, yxorl, Px, {0x83,(01),0x0d,0x81,(01),0x09,0x0b} },
+ { AORW, yxorl, Pe, {0x83,(01),0x0d,0x81,(01),0x09,0x0b} },
+ { AOUTB, yin, Pb, {0xe6,0xee} },
+ { AOUTL, yin, Px, {0xe7,0xef} },
+ { AOUTW, yin, Pe, {0xe7,0xef} },
+ { AOUTSB, ynone, Pb, {0x6e} },
+ { AOUTSL, ynone, Px, {0x6f} },
+ { AOUTSW, ynone, Pe, {0x6f} },
+ { APAUSE, ynone, Px, {0xf3,0x90} },
+ { APOPAL, ynone, Px, {0x61} },
+ { APOPAW, ynone, Pe, {0x61} },
+ { APOPFL, ynone, Px, {0x9d} },
+ { APOPFW, ynone, Pe, {0x9d} },
+ { APOPL, ypopl, Px, {0x58,0x8f,(00)} },
+ { APOPW, ypopl, Pe, {0x58,0x8f,(00)} },
+ { APUSHAL, ynone, Px, {0x60} },
+ { APUSHAW, ynone, Pe, {0x60} },
+ { APUSHFL, ynone, Px, {0x9c} },
+ { APUSHFW, ynone, Pe, {0x9c} },
+ { APUSHL, ypushl, Px, {0x50,0xff,(06),0x6a,0x68} },
+ { APUSHW, ypushl, Pe, {0x50,0xff,(06),0x6a,0x68} },
+ { ARCLB, yshb, Pb, {0xd0,(02),0xc0,(02),0xd2,(02)} },
+ { ARCLL, yshl, Px, {0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02)} },
+ { ARCLW, yshl, Pe, {0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02)} },
+ { ARCRB, yshb, Pb, {0xd0,(03),0xc0,(03),0xd2,(03)} },
+ { ARCRL, yshl, Px, {0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03)} },
+ { ARCRW, yshl, Pe, {0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03)} },
+ { AREP, ynone, Px, {0xf3} },
+ { AREPN, ynone, Px, {0xf2} },
+ { ARET, ynone, Px, {0xc3} },
+ { AROLB, yshb, Pb, {0xd0,(00),0xc0,(00),0xd2,(00)} },
+ { AROLL, yshl, Px, {0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00)} },
+ { AROLW, yshl, Pe, {0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00)} },
+ { ARORB, yshb, Pb, {0xd0,(01),0xc0,(01),0xd2,(01)} },
+ { ARORL, yshl, Px, {0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01)} },
+ { ARORW, yshl, Pe, {0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01)} },
+ { ASAHF, ynone, Px, {0x9e} },
+ { ASALB, yshb, Pb, {0xd0,(04),0xc0,(04),0xd2,(04)} },
+ { ASALL, yshl, Px, {0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04)} },
+ { ASALW, yshl, Pe, {0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04)} },
+ { ASARB, yshb, Pb, {0xd0,(07),0xc0,(07),0xd2,(07)} },
+ { ASARL, yshl, Px, {0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07)} },
+ { ASARW, yshl, Pe, {0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07)} },
+ { ASBBB, yxorb, Pb, {0x1c,0x80,(03),0x18,0x1a} },
+ { ASBBL, yxorl, Px, {0x83,(03),0x1d,0x81,(03),0x19,0x1b} },
+ { ASBBW, yxorl, Pe, {0x83,(03),0x1d,0x81,(03),0x19,0x1b} },
+ { ASCASB, ynone, Pb, {0xae} },
+ { ASCASL, ynone, Px, {0xaf} },
+ { ASCASW, ynone, Pe, {0xaf} },
+ { ASETCC, yscond, Pm, {0x93,(00)} },
+ { ASETCS, yscond, Pm, {0x92,(00)} },
+ { ASETEQ, yscond, Pm, {0x94,(00)} },
+ { ASETGE, yscond, Pm, {0x9d,(00)} },
+ { ASETGT, yscond, Pm, {0x9f,(00)} },
+ { ASETHI, yscond, Pm, {0x97,(00)} },
+ { ASETLE, yscond, Pm, {0x9e,(00)} },
+ { ASETLS, yscond, Pm, {0x96,(00)} },
+ { ASETLT, yscond, Pm, {0x9c,(00)} },
+ { ASETMI, yscond, Pm, {0x98,(00)} },
+ { ASETNE, yscond, Pm, {0x95,(00)} },
+ { ASETOC, yscond, Pm, {0x91,(00)} },
+ { ASETOS, yscond, Pm, {0x90,(00)} },
+ { ASETPC, yscond, Pm, {0x96,(00)} },
+ { ASETPL, yscond, Pm, {0x99,(00)} },
+ { ASETPS, yscond, Pm, {0x9a,(00)} },
+ { ACDQ, ynone, Px, {0x99} },
+ { ACWD, ynone, Pe, {0x99} },
+ { ASHLB, yshb, Pb, {0xd0,(04),0xc0,(04),0xd2,(04)} },
+ { ASHLL, yshl, Px, {0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04)} },
+ { ASHLW, yshl, Pe, {0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04)} },
+ { ASHRB, yshb, Pb, {0xd0,(05),0xc0,(05),0xd2,(05)} },
+ { ASHRL, yshl, Px, {0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05)} },
+ { ASHRW, yshl, Pe, {0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05)} },
+ { ASTC, ynone, Px, {0xf9} },
+ { ASTD, ynone, Px, {0xfd} },
+ { ASTI, ynone, Px, {0xfb} },
+ { ASTOSB, ynone, Pb, {0xaa} },
+ { ASTOSL, ynone, Px, {0xab} },
+ { ASTOSW, ynone, Pe, {0xab} },
+ { ASUBB, yxorb, Pb, {0x2c,0x80,(05),0x28,0x2a} },
+ { ASUBL, yaddl, Px, {0x83,(05),0x2d,0x81,(05),0x29,0x2b} },
+ { ASUBW, yaddl, Pe, {0x83,(05),0x2d,0x81,(05),0x29,0x2b} },
+ { ASYSCALL, ynone, Px, {0xcd,100} },
+ { ATESTB, ytestb, Pb, {0xa8,0xf6,(00),0x84,0x84} },
+ { ATESTL, ytestl, Px, {0xa9,0xf7,(00),0x85,0x85} },
+ { ATESTW, ytestl, Pe, {0xa9,0xf7,(00),0x85,0x85} },
{ ATEXT, ytext, Px },
- { AVERR, ydivl, Pm, 0x00,(04) },
- { AVERW, ydivl, Pm, 0x00,(05) },
- { AWAIT, ynone, Px, 0x9b },
- { AWORD, ybyte, Px, 2 },
- { AXCHGB, yml_mb, Pb, 0x86,0x86 },
- { AXCHGL, yxchg, Px, 0x90,0x90,0x87,0x87 },
- { AXCHGW, yxchg, Pe, 0x90,0x90,0x87,0x87 },
- { AXLAT, ynone, Px, 0xd7 },
- { AXORB, yxorb, Pb, 0x34,0x80,(06),0x30,0x32 },
- { AXORL, yxorl, Px, 0x83,(06),0x35,0x81,(06),0x31,0x33 },
- { AXORW, yxorl, Pe, 0x83,(06),0x35,0x81,(06),0x31,0x33 },
+ { AVERR, ydivl, Pm, {0x00,(04)} },
+ { AVERW, ydivl, Pm, {0x00,(05)} },
+ { AWAIT, ynone, Px, {0x9b} },
+ { AWORD, ybyte, Px, {2} },
+ { AXCHGB, yml_mb, Pb, {0x86,0x86} },
+ { AXCHGL, yxchg, Px, {0x90,0x90,0x87,0x87} },
+ { AXCHGW, yxchg, Pe, {0x90,0x90,0x87,0x87} },
+ { AXLAT, ynone, Px, {0xd7} },
+ { AXORB, yxorb, Pb, {0x34,0x80,(06),0x30,0x32} },
+ { AXORL, yxorl, Px, {0x83,(06),0x35,0x81,(06),0x31,0x33} },
+ { AXORW, yxorl, Pe, {0x83,(06),0x35,0x81,(06),0x31,0x33} },
- { AFMOVB, yfmvx, Px, 0xdf,(04) },
- { AFMOVBP, yfmvp, Px, 0xdf,(06) },
- { AFMOVD, yfmvd, Px, 0xdd,(00),0xdd,(02),0xd9,(00),0xdd,(02) },
- { AFMOVDP, yfmvdp, Px, 0xdd,(03),0xdd,(03) },
- { AFMOVF, yfmvf, Px, 0xd9,(00),0xd9,(02) },
- { AFMOVFP, yfmvp, Px, 0xd9,(03) },
- { AFMOVL, yfmvf, Px, 0xdb,(00),0xdb,(02) },
- { AFMOVLP, yfmvp, Px, 0xdb,(03) },
- { AFMOVV, yfmvx, Px, 0xdf,(05) },
- { AFMOVVP, yfmvp, Px, 0xdf,(07) },
- { AFMOVW, yfmvf, Px, 0xdf,(00),0xdf,(02) },
- { AFMOVWP, yfmvp, Px, 0xdf,(03) },
- { AFMOVX, yfmvx, Px, 0xdb,(05) },
- { AFMOVXP, yfmvp, Px, 0xdb,(07) },
+ { AFMOVB, yfmvx, Px, {0xdf,(04)} },
+ { AFMOVBP, yfmvp, Px, {0xdf,(06)} },
+ { AFMOVD, yfmvd, Px, {0xdd,(00),0xdd,(02),0xd9,(00),0xdd,(02)} },
+ { AFMOVDP, yfmvdp, Px, {0xdd,(03),0xdd,(03)} },
+ { AFMOVF, yfmvf, Px, {0xd9,(00),0xd9,(02)} },
+ { AFMOVFP, yfmvp, Px, {0xd9,(03)} },
+ { AFMOVL, yfmvf, Px, {0xdb,(00),0xdb,(02)} },
+ { AFMOVLP, yfmvp, Px, {0xdb,(03)} },
+ { AFMOVV, yfmvx, Px, {0xdf,(05)} },
+ { AFMOVVP, yfmvp, Px, {0xdf,(07)} },
+ { AFMOVW, yfmvf, Px, {0xdf,(00),0xdf,(02)} },
+ { AFMOVWP, yfmvp, Px, {0xdf,(03)} },
+ { AFMOVX, yfmvx, Px, {0xdb,(05)} },
+ { AFMOVXP, yfmvp, Px, {0xdb,(07)} },
{ AFCOMB },
{ AFCOMBP },
- { AFCOMD, yfadd, Px, 0xdc,(02),0xd8,(02),0xdc,(02) }, /* botch */
- { AFCOMDP, yfadd, Px, 0xdc,(03),0xd8,(03),0xdc,(03) }, /* botch */
- { AFCOMDPP, ycompp, Px, 0xde,(03) },
- { AFCOMF, yfmvx, Px, 0xd8,(02) },
- { AFCOMFP, yfmvx, Px, 0xd8,(03) },
- { AFCOMI, yfmvx, Px, 0xdb,(06) },
- { AFCOMIP, yfmvx, Px, 0xdf,(06) },
- { AFCOML, yfmvx, Px, 0xda,(02) },
- { AFCOMLP, yfmvx, Px, 0xda,(03) },
- { AFCOMW, yfmvx, Px, 0xde,(02) },
- { AFCOMWP, yfmvx, Px, 0xde,(03) },
+ { AFCOMD, yfadd, Px, {0xdc,(02),0xd8,(02),0xdc,(02)} }, /* botch */
+ { AFCOMDP, yfadd, Px, {0xdc,(03),0xd8,(03),0xdc,(03)} }, /* botch */
+ { AFCOMDPP, ycompp, Px, {0xde,(03)} },
+ { AFCOMF, yfmvx, Px, {0xd8,(02)} },
+ { AFCOMFP, yfmvx, Px, {0xd8,(03)} },
+ { AFCOMI, yfmvx, Px, {0xdb,(06)} },
+ { AFCOMIP, yfmvx, Px, {0xdf,(06)} },
+ { AFCOML, yfmvx, Px, {0xda,(02)} },
+ { AFCOMLP, yfmvx, Px, {0xda,(03)} },
+ { AFCOMW, yfmvx, Px, {0xde,(02)} },
+ { AFCOMWP, yfmvx, Px, {0xde,(03)} },
- { AFUCOM, ycompp, Px, 0xdd,(04) },
- { AFUCOMI, ycompp, Px, 0xdb,(05) },
- { AFUCOMIP, ycompp, Px, 0xdf,(05) },
- { AFUCOMP, ycompp, Px, 0xdd,(05) },
- { AFUCOMPP, ycompp, Px, 0xda,(13) },
+ { AFUCOM, ycompp, Px, {0xdd,(04)} },
+ { AFUCOMI, ycompp, Px, {0xdb,(05)} },
+ { AFUCOMIP, ycompp, Px, {0xdf,(05)} },
+ { AFUCOMP, ycompp, Px, {0xdd,(05)} },
+ { AFUCOMPP, ycompp, Px, {0xda,(13)} },
- { AFADDDP, yfaddp, Px, 0xde,(00) },
- { AFADDW, yfmvx, Px, 0xde,(00) },
- { AFADDL, yfmvx, Px, 0xda,(00) },
- { AFADDF, yfmvx, Px, 0xd8,(00) },
- { AFADDD, yfadd, Px, 0xdc,(00),0xd8,(00),0xdc,(00) },
+ { AFADDDP, yfaddp, Px, {0xde,(00)} },
+ { AFADDW, yfmvx, Px, {0xde,(00)} },
+ { AFADDL, yfmvx, Px, {0xda,(00)} },
+ { AFADDF, yfmvx, Px, {0xd8,(00)} },
+ { AFADDD, yfadd, Px, {0xdc,(00),0xd8,(00),0xdc,(00)} },
- { AFMULDP, yfaddp, Px, 0xde,(01) },
- { AFMULW, yfmvx, Px, 0xde,(01) },
- { AFMULL, yfmvx, Px, 0xda,(01) },
- { AFMULF, yfmvx, Px, 0xd8,(01) },
- { AFMULD, yfadd, Px, 0xdc,(01),0xd8,(01),0xdc,(01) },
+ { AFMULDP, yfaddp, Px, {0xde,(01)} },
+ { AFMULW, yfmvx, Px, {0xde,(01)} },
+ { AFMULL, yfmvx, Px, {0xda,(01)} },
+ { AFMULF, yfmvx, Px, {0xd8,(01)} },
+ { AFMULD, yfadd, Px, {0xdc,(01),0xd8,(01),0xdc,(01)} },
- { AFSUBDP, yfaddp, Px, 0xde,(05) },
- { AFSUBW, yfmvx, Px, 0xde,(04) },
- { AFSUBL, yfmvx, Px, 0xda,(04) },
- { AFSUBF, yfmvx, Px, 0xd8,(04) },
- { AFSUBD, yfadd, Px, 0xdc,(04),0xd8,(04),0xdc,(05) },
+ { AFSUBDP, yfaddp, Px, {0xde,(05)} },
+ { AFSUBW, yfmvx, Px, {0xde,(04)} },
+ { AFSUBL, yfmvx, Px, {0xda,(04)} },
+ { AFSUBF, yfmvx, Px, {0xd8,(04)} },
+ { AFSUBD, yfadd, Px, {0xdc,(04),0xd8,(04),0xdc,(05)} },
- { AFSUBRDP, yfaddp, Px, 0xde,(04) },
- { AFSUBRW, yfmvx, Px, 0xde,(05) },
- { AFSUBRL, yfmvx, Px, 0xda,(05) },
- { AFSUBRF, yfmvx, Px, 0xd8,(05) },
- { AFSUBRD, yfadd, Px, 0xdc,(05),0xd8,(05),0xdc,(04) },
+ { AFSUBRDP, yfaddp, Px, {0xde,(04)} },
+ { AFSUBRW, yfmvx, Px, {0xde,(05)} },
+ { AFSUBRL, yfmvx, Px, {0xda,(05)} },
+ { AFSUBRF, yfmvx, Px, {0xd8,(05)} },
+ { AFSUBRD, yfadd, Px, {0xdc,(05),0xd8,(05),0xdc,(04)} },
- { AFDIVDP, yfaddp, Px, 0xde,(07) },
- { AFDIVW, yfmvx, Px, 0xde,(06) },
- { AFDIVL, yfmvx, Px, 0xda,(06) },
- { AFDIVF, yfmvx, Px, 0xd8,(06) },
- { AFDIVD, yfadd, Px, 0xdc,(06),0xd8,(06),0xdc,(07) },
+ { AFDIVDP, yfaddp, Px, {0xde,(07)} },
+ { AFDIVW, yfmvx, Px, {0xde,(06)} },
+ { AFDIVL, yfmvx, Px, {0xda,(06)} },
+ { AFDIVF, yfmvx, Px, {0xd8,(06)} },
+ { AFDIVD, yfadd, Px, {0xdc,(06),0xd8,(06),0xdc,(07)} },
- { AFDIVRDP, yfaddp, Px, 0xde,(06) },
- { AFDIVRW, yfmvx, Px, 0xde,(07) },
- { AFDIVRL, yfmvx, Px, 0xda,(07) },
- { AFDIVRF, yfmvx, Px, 0xd8,(07) },
- { AFDIVRD, yfadd, Px, 0xdc,(07),0xd8,(07),0xdc,(06) },
+ { AFDIVRDP, yfaddp, Px, {0xde,(06)} },
+ { AFDIVRW, yfmvx, Px, {0xde,(07)} },
+ { AFDIVRL, yfmvx, Px, {0xda,(07)} },
+ { AFDIVRF, yfmvx, Px, {0xd8,(07)} },
+ { AFDIVRD, yfadd, Px, {0xdc,(07),0xd8,(07),0xdc,(06)} },
- { AFXCHD, yfxch, Px, 0xd9,(01),0xd9,(01) },
+ { AFXCHD, yfxch, Px, {0xd9,(01),0xd9,(01)} },
{ AFFREE },
- { AFLDCW, ystcw, Px, 0xd9,(05),0xd9,(05) },
- { AFLDENV, ystcw, Px, 0xd9,(04),0xd9,(04) },
- { AFRSTOR, ysvrs, Px, 0xdd,(04),0xdd,(04) },
- { AFSAVE, ysvrs, Px, 0xdd,(06),0xdd,(06) },
- { AFSTCW, ystcw, Px, 0xd9,(07),0xd9,(07) },
- { AFSTENV, ystcw, Px, 0xd9,(06),0xd9,(06) },
- { AFSTSW, ystsw, Px, 0xdd,(07),0xdf,0xe0 },
- { AF2XM1, ynone, Px, 0xd9, 0xf0 },
- { AFABS, ynone, Px, 0xd9, 0xe1 },
- { AFCHS, ynone, Px, 0xd9, 0xe0 },
- { AFCLEX, ynone, Px, 0xdb, 0xe2 },
- { AFCOS, ynone, Px, 0xd9, 0xff },
- { AFDECSTP, ynone, Px, 0xd9, 0xf6 },
- { AFINCSTP, ynone, Px, 0xd9, 0xf7 },
- { AFINIT, ynone, Px, 0xdb, 0xe3 },
- { AFLD1, ynone, Px, 0xd9, 0xe8 },
- { AFLDL2E, ynone, Px, 0xd9, 0xea },
- { AFLDL2T, ynone, Px, 0xd9, 0xe9 },
- { AFLDLG2, ynone, Px, 0xd9, 0xec },
- { AFLDLN2, ynone, Px, 0xd9, 0xed },
- { AFLDPI, ynone, Px, 0xd9, 0xeb },
- { AFLDZ, ynone, Px, 0xd9, 0xee },
- { AFNOP, ynone, Px, 0xd9, 0xd0 },
- { AFPATAN, ynone, Px, 0xd9, 0xf3 },
- { AFPREM, ynone, Px, 0xd9, 0xf8 },
- { AFPREM1, ynone, Px, 0xd9, 0xf5 },
- { AFPTAN, ynone, Px, 0xd9, 0xf2 },
- { AFRNDINT, ynone, Px, 0xd9, 0xfc },
- { AFSCALE, ynone, Px, 0xd9, 0xfd },
- { AFSIN, ynone, Px, 0xd9, 0xfe },
- { AFSINCOS, ynone, Px, 0xd9, 0xfb },
- { AFSQRT, ynone, Px, 0xd9, 0xfa },
- { AFTST, ynone, Px, 0xd9, 0xe4 },
- { AFXAM, ynone, Px, 0xd9, 0xe5 },
- { AFXTRACT, ynone, Px, 0xd9, 0xf4 },
- { AFYL2X, ynone, Px, 0xd9, 0xf1 },
- { AFYL2XP1, ynone, Px, 0xd9, 0xf9 },
+ { AFLDCW, ystcw, Px, {0xd9,(05),0xd9,(05)} },
+ { AFLDENV, ystcw, Px, {0xd9,(04),0xd9,(04)} },
+ { AFRSTOR, ysvrs, Px, {0xdd,(04),0xdd,(04)} },
+ { AFSAVE, ysvrs, Px, {0xdd,(06),0xdd,(06)} },
+ { AFSTCW, ystcw, Px, {0xd9,(07),0xd9,(07)} },
+ { AFSTENV, ystcw, Px, {0xd9,(06),0xd9,(06)} },
+ { AFSTSW, ystsw, Px, {0xdd,(07),0xdf,0xe0} },
+ { AF2XM1, ynone, Px, {0xd9, 0xf0} },
+ { AFABS, ynone, Px, {0xd9, 0xe1} },
+ { AFCHS, ynone, Px, {0xd9, 0xe0} },
+ { AFCLEX, ynone, Px, {0xdb, 0xe2} },
+ { AFCOS, ynone, Px, {0xd9, 0xff} },
+ { AFDECSTP, ynone, Px, {0xd9, 0xf6} },
+ { AFINCSTP, ynone, Px, {0xd9, 0xf7} },
+ { AFINIT, ynone, Px, {0xdb, 0xe3} },
+ { AFLD1, ynone, Px, {0xd9, 0xe8} },
+ { AFLDL2E, ynone, Px, {0xd9, 0xea} },
+ { AFLDL2T, ynone, Px, {0xd9, 0xe9} },
+ { AFLDLG2, ynone, Px, {0xd9, 0xec} },
+ { AFLDLN2, ynone, Px, {0xd9, 0xed} },
+ { AFLDPI, ynone, Px, {0xd9, 0xeb} },
+ { AFLDZ, ynone, Px, {0xd9, 0xee} },
+ { AFNOP, ynone, Px, {0xd9, 0xd0} },
+ { AFPATAN, ynone, Px, {0xd9, 0xf3} },
+ { AFPREM, ynone, Px, {0xd9, 0xf8} },
+ { AFPREM1, ynone, Px, {0xd9, 0xf5} },
+ { AFPTAN, ynone, Px, {0xd9, 0xf2} },
+ { AFRNDINT, ynone, Px, {0xd9, 0xfc} },
+ { AFSCALE, ynone, Px, {0xd9, 0xfd} },
+ { AFSIN, ynone, Px, {0xd9, 0xfe} },
+ { AFSINCOS, ynone, Px, {0xd9, 0xfb} },
+ { AFSQRT, ynone, Px, {0xd9, 0xfa} },
+ { AFTST, ynone, Px, {0xd9, 0xe4} },
+ { AFXAM, ynone, Px, {0xd9, 0xe5} },
+ { AFXTRACT, ynone, Px, {0xd9, 0xf4} },
+ { AFYL2X, ynone, Px, {0xd9, 0xf1} },
+ { AFYL2XP1, ynone, Px, {0xd9, 0xf9} },
{ AEND },
{ ADYNT_ },
{ AINIT_ },
{ ASIGNAME },
- { ACMPXCHGB, yrb_mb, Pm, 0xb0 },
- { ACMPXCHGL, yrl_ml, Pm, 0xb1 },
- { ACMPXCHGW, yrl_ml, Pm, 0xb1 },
- { ACMPXCHG8B, yscond, Pm, 0xc7,(01) },
+ { ACMPXCHGB, yrb_mb, Pm, {0xb0} },
+ { ACMPXCHGL, yrl_ml, Pm, {0xb1} },
+ { ACMPXCHGW, yrl_ml, Pm, {0xb1} },
+ { ACMPXCHG8B, yscond, Pm, {0xc7,(01)} },
- { ACPUID, ynone, Pm, 0xa2 },
- { ARDTSC, ynone, Pm, 0x31 },
+ { ACPUID, ynone, Pm, {0xa2} },
+ { ARDTSC, ynone, Pm, {0x31} },
- { AXADDB, yrb_mb, Pb, 0x0f,0xc0 },
- { AXADDL, yrl_ml, Pm, 0xc1 },
- { AXADDW, yrl_ml, Pe, 0x0f,0xc1 },
+ { AXADDB, yrb_mb, Pb, {0x0f,0xc0} },
+ { AXADDL, yrl_ml, Pm, {0xc1} },
+ { AXADDW, yrl_ml, Pe, {0x0f,0xc1} },
- { ACMOVLCC, yml_rl, Pm, 0x43 },
- { ACMOVLCS, yml_rl, Pm, 0x42 },
- { ACMOVLEQ, yml_rl, Pm, 0x44 },
- { ACMOVLGE, yml_rl, Pm, 0x4d },
- { ACMOVLGT, yml_rl, Pm, 0x4f },
- { ACMOVLHI, yml_rl, Pm, 0x47 },
- { ACMOVLLE, yml_rl, Pm, 0x4e },
- { ACMOVLLS, yml_rl, Pm, 0x46 },
- { ACMOVLLT, yml_rl, Pm, 0x4c },
- { ACMOVLMI, yml_rl, Pm, 0x48 },
- { ACMOVLNE, yml_rl, Pm, 0x45 },
- { ACMOVLOC, yml_rl, Pm, 0x41 },
- { ACMOVLOS, yml_rl, Pm, 0x40 },
- { ACMOVLPC, yml_rl, Pm, 0x4b },
- { ACMOVLPL, yml_rl, Pm, 0x49 },
- { ACMOVLPS, yml_rl, Pm, 0x4a },
- { ACMOVWCC, yml_rl, Pq, 0x43 },
- { ACMOVWCS, yml_rl, Pq, 0x42 },
- { ACMOVWEQ, yml_rl, Pq, 0x44 },
- { ACMOVWGE, yml_rl, Pq, 0x4d },
- { ACMOVWGT, yml_rl, Pq, 0x4f },
- { ACMOVWHI, yml_rl, Pq, 0x47 },
- { ACMOVWLE, yml_rl, Pq, 0x4e },
- { ACMOVWLS, yml_rl, Pq, 0x46 },
- { ACMOVWLT, yml_rl, Pq, 0x4c },
- { ACMOVWMI, yml_rl, Pq, 0x48 },
- { ACMOVWNE, yml_rl, Pq, 0x45 },
- { ACMOVWOC, yml_rl, Pq, 0x41 },
- { ACMOVWOS, yml_rl, Pq, 0x40 },
- { ACMOVWPC, yml_rl, Pq, 0x4b },
- { ACMOVWPL, yml_rl, Pq, 0x49 },
- { ACMOVWPS, yml_rl, Pq, 0x4a },
+ { ACMOVLCC, yml_rl, Pm, {0x43} },
+ { ACMOVLCS, yml_rl, Pm, {0x42} },
+ { ACMOVLEQ, yml_rl, Pm, {0x44} },
+ { ACMOVLGE, yml_rl, Pm, {0x4d} },
+ { ACMOVLGT, yml_rl, Pm, {0x4f} },
+ { ACMOVLHI, yml_rl, Pm, {0x47} },
+ { ACMOVLLE, yml_rl, Pm, {0x4e} },
+ { ACMOVLLS, yml_rl, Pm, {0x46} },
+ { ACMOVLLT, yml_rl, Pm, {0x4c} },
+ { ACMOVLMI, yml_rl, Pm, {0x48} },
+ { ACMOVLNE, yml_rl, Pm, {0x45} },
+ { ACMOVLOC, yml_rl, Pm, {0x41} },
+ { ACMOVLOS, yml_rl, Pm, {0x40} },
+ { ACMOVLPC, yml_rl, Pm, {0x4b} },
+ { ACMOVLPL, yml_rl, Pm, {0x49} },
+ { ACMOVLPS, yml_rl, Pm, {0x4a} },
+ { ACMOVWCC, yml_rl, Pq, {0x43} },
+ { ACMOVWCS, yml_rl, Pq, {0x42} },
+ { ACMOVWEQ, yml_rl, Pq, {0x44} },
+ { ACMOVWGE, yml_rl, Pq, {0x4d} },
+ { ACMOVWGT, yml_rl, Pq, {0x4f} },
+ { ACMOVWHI, yml_rl, Pq, {0x47} },
+ { ACMOVWLE, yml_rl, Pq, {0x4e} },
+ { ACMOVWLS, yml_rl, Pq, {0x46} },
+ { ACMOVWLT, yml_rl, Pq, {0x4c} },
+ { ACMOVWMI, yml_rl, Pq, {0x48} },
+ { ACMOVWNE, yml_rl, Pq, {0x45} },
+ { ACMOVWOC, yml_rl, Pq, {0x41} },
+ { ACMOVWOS, yml_rl, Pq, {0x40} },
+ { ACMOVWPC, yml_rl, Pq, {0x4b} },
+ { ACMOVWPL, yml_rl, Pq, {0x49} },
+ { ACMOVWPS, yml_rl, Pq, {0x4a} },
- { AFCMOVCC, yfcmv, Px, 0xdb,(00) },
- { AFCMOVCS, yfcmv, Px, 0xda,(00) },
- { AFCMOVEQ, yfcmv, Px, 0xda,(01) },
- { AFCMOVHI, yfcmv, Px, 0xdb,(02) },
- { AFCMOVLS, yfcmv, Px, 0xda,(02) },
- { AFCMOVNE, yfcmv, Px, 0xdb,(01) },
- { AFCMOVNU, yfcmv, Px, 0xdb,(03) },
- { AFCMOVUN, yfcmv, Px, 0xda,(03) },
+ { AFCMOVCC, yfcmv, Px, {0xdb,(00)} },
+ { AFCMOVCS, yfcmv, Px, {0xda,(00)} },
+ { AFCMOVEQ, yfcmv, Px, {0xda,(01)} },
+ { AFCMOVHI, yfcmv, Px, {0xdb,(02)} },
+ { AFCMOVLS, yfcmv, Px, {0xda,(02)} },
+ { AFCMOVNE, yfcmv, Px, {0xdb,(01)} },
+ { AFCMOVNU, yfcmv, Px, {0xdb,(03)} },
+ { AFCMOVUN, yfcmv, Px, {0xda,(03)} },
- { ALFENCE, ynone, Pm, 0xae,0xe8 },
- { AMFENCE, ynone, Pm, 0xae,0xf0 },
- { ASFENCE, ynone, Pm, 0xae,0xf8 },
+ { ALFENCE, ynone, Pm, {0xae,0xe8} },
+ { AMFENCE, ynone, Pm, {0xae,0xf0} },
+ { ASFENCE, ynone, Pm, {0xae,0xf8} },
- { AEMMS, ynone, Pm, 0x77 },
+ { AEMMS, ynone, Pm, {0x77} },
- { APREFETCHT0, yprefetch, Pm, 0x18,(01) },
- { APREFETCHT1, yprefetch, Pm, 0x18,(02) },
- { APREFETCHT2, yprefetch, Pm, 0x18,(03) },
- { APREFETCHNTA, yprefetch, Pm, 0x18,(00) },
+ { APREFETCHT0, yprefetch, Pm, {0x18,(01)} },
+ { APREFETCHT1, yprefetch, Pm, {0x18,(02)} },
+ { APREFETCHT2, yprefetch, Pm, {0x18,(03)} },
+ { APREFETCHNTA, yprefetch, Pm, {0x18,(00)} },
- { ABSWAPL, ybswap, Pm, 0xc8 },
+ { ABSWAPL, ybswap, Pm, {0xc8} },
- { AUNDEF, ynone, Px, 0x0f, 0x0b },
+ { AUNDEF, ynone, Px, {0x0f, 0x0b} },
- { AADDPD, yxm, Pq, 0x58 },
- { AADDPS, yxm, Pm, 0x58 },
- { AADDSD, yxm, Pf2, 0x58 },
- { AADDSS, yxm, Pf3, 0x58 },
- { AANDNPD, yxm, Pq, 0x55 },
- { AANDNPS, yxm, Pm, 0x55 },
- { AANDPD, yxm, Pq, 0x54 },
- { AANDPS, yxm, Pq, 0x54 },
- { ACMPPD, yxcmpi, Px, Pe,0xc2 },
- { ACMPPS, yxcmpi, Pm, 0xc2,0 },
- { ACMPSD, yxcmpi, Px, Pf2,0xc2 },
- { ACMPSS, yxcmpi, Px, Pf3,0xc2 },
- { ACOMISD, yxcmp, Pe, 0x2f },
- { ACOMISS, yxcmp, Pm, 0x2f },
- { ACVTPL2PD, yxcvm2, Px, Pf3,0xe6,Pe,0x2a },
- { ACVTPL2PS, yxcvm2, Pm, 0x5b,0,0x2a,0, },
- { ACVTPD2PL, yxcvm1, Px, Pf2,0xe6,Pe,0x2d },
- { ACVTPD2PS, yxm, Pe, 0x5a },
- { ACVTPS2PL, yxcvm1, Px, Pe,0x5b,Pm,0x2d },
- { ACVTPS2PD, yxm, Pm, 0x5a },
- { ACVTSD2SL, yxcvfl, Pf2, 0x2d },
- { ACVTSD2SS, yxm, Pf2, 0x5a },
- { ACVTSL2SD, yxcvlf, Pf2, 0x2a },
- { ACVTSL2SS, yxcvlf, Pf3, 0x2a },
- { ACVTSS2SD, yxm, Pf3, 0x5a },
- { ACVTSS2SL, yxcvfl, Pf3, 0x2d },
- { ACVTTPD2PL, yxcvm1, Px, Pe,0xe6,Pe,0x2c },
- { ACVTTPS2PL, yxcvm1, Px, Pf3,0x5b,Pm,0x2c },
- { ACVTTSD2SL, yxcvfl, Pf2, 0x2c },
- { ACVTTSS2SL, yxcvfl, Pf3, 0x2c },
- { ADIVPD, yxm, Pe, 0x5e },
- { ADIVPS, yxm, Pm, 0x5e },
- { ADIVSD, yxm, Pf2, 0x5e },
- { ADIVSS, yxm, Pf3, 0x5e },
- { AMASKMOVOU, yxr, Pe, 0xf7 },
- { AMAXPD, yxm, Pe, 0x5f },
- { AMAXPS, yxm, Pm, 0x5f },
- { AMAXSD, yxm, Pf2, 0x5f },
- { AMAXSS, yxm, Pf3, 0x5f },
- { AMINPD, yxm, Pe, 0x5d },
- { AMINPS, yxm, Pm, 0x5d },
- { AMINSD, yxm, Pf2, 0x5d },
- { AMINSS, yxm, Pf3, 0x5d },
- { AMOVAPD, yxmov, Pe, 0x28,0x29 },
- { AMOVAPS, yxmov, Pm, 0x28,0x29 },
- { AMOVO, yxmov, Pe, 0x6f,0x7f },
- { AMOVOU, yxmov, Pf3, 0x6f,0x7f },
- { AMOVHLPS, yxr, Pm, 0x12 },
- { AMOVHPD, yxmov, Pe, 0x16,0x17 },
- { AMOVHPS, yxmov, Pm, 0x16,0x17 },
- { AMOVLHPS, yxr, Pm, 0x16 },
- { AMOVLPD, yxmov, Pe, 0x12,0x13 },
- { AMOVLPS, yxmov, Pm, 0x12,0x13 },
- { AMOVMSKPD, yxrrl, Pq, 0x50 },
- { AMOVMSKPS, yxrrl, Pm, 0x50 },
- { AMOVNTO, yxr_ml, Pe, 0xe7 },
- { AMOVNTPD, yxr_ml, Pe, 0x2b },
- { AMOVNTPS, yxr_ml, Pm, 0x2b },
- { AMOVSD, yxmov, Pf2, 0x10,0x11 },
- { AMOVSS, yxmov, Pf3, 0x10,0x11 },
- { AMOVUPD, yxmov, Pe, 0x10,0x11 },
- { AMOVUPS, yxmov, Pm, 0x10,0x11 },
- { AMULPD, yxm, Pe, 0x59 },
- { AMULPS, yxm, Ym, 0x59 },
- { AMULSD, yxm, Pf2, 0x59 },
- { AMULSS, yxm, Pf3, 0x59 },
- { AORPD, yxm, Pq, 0x56 },
- { AORPS, yxm, Pm, 0x56 },
- { APADDQ, yxm, Pe, 0xd4 },
- { APAND, yxm, Pe, 0xdb },
- { APCMPEQB, yxmq, Pe ,0x74 },
- { APMAXSW, yxm, Pe, 0xee },
- { APMAXUB, yxm, Pe, 0xde },
- { APMINSW, yxm, Pe, 0xea },
- { APMINUB, yxm, Pe, 0xda },
- { APMOVMSKB, ymskb, Px, Pe,0xd7,0xd7 },
- { APSADBW, yxm, Pq, 0xf6 },
- { APSUBB, yxm, Pe, 0xf8 },
- { APSUBL, yxm, Pe, 0xfa },
- { APSUBQ, yxm, Pe, 0xfb },
- { APSUBSB, yxm, Pe, 0xe8 },
- { APSUBSW, yxm, Pe, 0xe9 },
- { APSUBUSB, yxm, Pe, 0xd8 },
- { APSUBUSW, yxm, Pe, 0xd9 },
- { APSUBW, yxm, Pe, 0xf9 },
- { APUNPCKHQDQ, yxm, Pe, 0x6d },
- { APUNPCKLQDQ, yxm, Pe, 0x6c },
- { APXOR, yxm, Pe, 0xef },
- { ARCPPS, yxm, Pm, 0x53 },
- { ARCPSS, yxm, Pf3, 0x53 },
- { ARSQRTPS, yxm, Pm, 0x52 },
- { ARSQRTSS, yxm, Pf3, 0x52 },
- { ASQRTPD, yxm, Pe, 0x51 },
- { ASQRTPS, yxm, Pm, 0x51 },
- { ASQRTSD, yxm, Pf2, 0x51 },
- { ASQRTSS, yxm, Pf3, 0x51 },
- { ASUBPD, yxm, Pe, 0x5c },
- { ASUBPS, yxm, Pm, 0x5c },
- { ASUBSD, yxm, Pf2, 0x5c },
- { ASUBSS, yxm, Pf3, 0x5c },
- { AUCOMISD, yxcmp, Pe, 0x2e },
- { AUCOMISS, yxcmp, Pm, 0x2e },
- { AUNPCKHPD, yxm, Pe, 0x15 },
- { AUNPCKHPS, yxm, Pm, 0x15 },
- { AUNPCKLPD, yxm, Pe, 0x14 },
- { AUNPCKLPS, yxm, Pm, 0x14 },
- { AXORPD, yxm, Pe, 0x57 },
- { AXORPS, yxm, Pm, 0x57 },
+ { AADDPD, yxm, Pq, {0x58} },
+ { AADDPS, yxm, Pm, {0x58} },
+ { AADDSD, yxm, Pf2, {0x58} },
+ { AADDSS, yxm, Pf3, {0x58} },
+ { AANDNPD, yxm, Pq, {0x55} },
+ { AANDNPS, yxm, Pm, {0x55} },
+ { AANDPD, yxm, Pq, {0x54} },
+ { AANDPS, yxm, Pq, {0x54} },
+ { ACMPPD, yxcmpi, Px, {Pe,0xc2} },
+ { ACMPPS, yxcmpi, Pm, {0xc2,0} },
+ { ACMPSD, yxcmpi, Px, {Pf2,0xc2} },
+ { ACMPSS, yxcmpi, Px, {Pf3,0xc2} },
+ { ACOMISD, yxcmp, Pe, {0x2f} },
+ { ACOMISS, yxcmp, Pm, {0x2f} },
+ { ACVTPL2PD, yxcvm2, Px, {Pf3,0xe6,Pe,0x2a} },
+ { ACVTPL2PS, yxcvm2, Pm, {0x5b,0,0x2a,0,} },
+ { ACVTPD2PL, yxcvm1, Px, {Pf2,0xe6,Pe,0x2d} },
+ { ACVTPD2PS, yxm, Pe, {0x5a} },
+ { ACVTPS2PL, yxcvm1, Px, {Pe,0x5b,Pm,0x2d} },
+ { ACVTPS2PD, yxm, Pm, {0x5a} },
+ { ACVTSD2SL, yxcvfl, Pf2, {0x2d} },
+ { ACVTSD2SS, yxm, Pf2, {0x5a} },
+ { ACVTSL2SD, yxcvlf, Pf2, {0x2a} },
+ { ACVTSL2SS, yxcvlf, Pf3, {0x2a} },
+ { ACVTSS2SD, yxm, Pf3, {0x5a} },
+ { ACVTSS2SL, yxcvfl, Pf3, {0x2d} },
+ { ACVTTPD2PL, yxcvm1, Px, {Pe,0xe6,Pe,0x2c} },
+ { ACVTTPS2PL, yxcvm1, Px, {Pf3,0x5b,Pm,0x2c} },
+ { ACVTTSD2SL, yxcvfl, Pf2, {0x2c} },
+ { ACVTTSS2SL, yxcvfl, Pf3, {0x2c} },
+ { ADIVPD, yxm, Pe, {0x5e} },
+ { ADIVPS, yxm, Pm, {0x5e} },
+ { ADIVSD, yxm, Pf2, {0x5e} },
+ { ADIVSS, yxm, Pf3, {0x5e} },
+ { AMASKMOVOU, yxr, Pe, {0xf7} },
+ { AMAXPD, yxm, Pe, {0x5f} },
+ { AMAXPS, yxm, Pm, {0x5f} },
+ { AMAXSD, yxm, Pf2, {0x5f} },
+ { AMAXSS, yxm, Pf3, {0x5f} },
+ { AMINPD, yxm, Pe, {0x5d} },
+ { AMINPS, yxm, Pm, {0x5d} },
+ { AMINSD, yxm, Pf2, {0x5d} },
+ { AMINSS, yxm, Pf3, {0x5d} },
+ { AMOVAPD, yxmov, Pe, {0x28,0x29} },
+ { AMOVAPS, yxmov, Pm, {0x28,0x29} },
+ { AMOVO, yxmov, Pe, {0x6f,0x7f} },
+ { AMOVOU, yxmov, Pf3, {0x6f,0x7f} },
+ { AMOVHLPS, yxr, Pm, {0x12} },
+ { AMOVHPD, yxmov, Pe, {0x16,0x17} },
+ { AMOVHPS, yxmov, Pm, {0x16,0x17} },
+ { AMOVLHPS, yxr, Pm, {0x16} },
+ { AMOVLPD, yxmov, Pe, {0x12,0x13} },
+ { AMOVLPS, yxmov, Pm, {0x12,0x13} },
+ { AMOVMSKPD, yxrrl, Pq, {0x50} },
+ { AMOVMSKPS, yxrrl, Pm, {0x50} },
+ { AMOVNTO, yxr_ml, Pe, {0xe7} },
+ { AMOVNTPD, yxr_ml, Pe, {0x2b} },
+ { AMOVNTPS, yxr_ml, Pm, {0x2b} },
+ { AMOVSD, yxmov, Pf2, {0x10,0x11} },
+ { AMOVSS, yxmov, Pf3, {0x10,0x11} },
+ { AMOVUPD, yxmov, Pe, {0x10,0x11} },
+ { AMOVUPS, yxmov, Pm, {0x10,0x11} },
+ { AMULPD, yxm, Pe, {0x59} },
+ { AMULPS, yxm, Ym, {0x59} },
+ { AMULSD, yxm, Pf2, {0x59} },
+ { AMULSS, yxm, Pf3, {0x59} },
+ { AORPD, yxm, Pq, {0x56} },
+ { AORPS, yxm, Pm, {0x56} },
+ { APADDQ, yxm, Pe, {0xd4} },
+ { APAND, yxm, Pe, {0xdb} },
+ { APCMPEQB, yxmq, Pe, {0x74} },
+ { APMAXSW, yxm, Pe, {0xee} },
+ { APMAXUB, yxm, Pe, {0xde} },
+ { APMINSW, yxm, Pe, {0xea} },
+ { APMINUB, yxm, Pe, {0xda} },
+ { APMOVMSKB, ymskb, Px, {Pe,0xd7,0xd7} },
+ { APSADBW, yxm, Pq, {0xf6} },
+ { APSUBB, yxm, Pe, {0xf8} },
+ { APSUBL, yxm, Pe, {0xfa} },
+ { APSUBQ, yxm, Pe, {0xfb} },
+ { APSUBSB, yxm, Pe, {0xe8} },
+ { APSUBSW, yxm, Pe, {0xe9} },
+ { APSUBUSB, yxm, Pe, {0xd8} },
+ { APSUBUSW, yxm, Pe, {0xd9} },
+ { APSUBW, yxm, Pe, {0xf9} },
+ { APUNPCKHQDQ, yxm, Pe, {0x6d} },
+ { APUNPCKLQDQ, yxm, Pe, {0x6c} },
+ { APXOR, yxm, Pe, {0xef} },
+ { ARCPPS, yxm, Pm, {0x53} },
+ { ARCPSS, yxm, Pf3, {0x53} },
+ { ARSQRTPS, yxm, Pm, {0x52} },
+ { ARSQRTSS, yxm, Pf3, {0x52} },
+ { ASQRTPD, yxm, Pe, {0x51} },
+ { ASQRTPS, yxm, Pm, {0x51} },
+ { ASQRTSD, yxm, Pf2, {0x51} },
+ { ASQRTSS, yxm, Pf3, {0x51} },
+ { ASUBPD, yxm, Pe, {0x5c} },
+ { ASUBPS, yxm, Pm, {0x5c} },
+ { ASUBSD, yxm, Pf2, {0x5c} },
+ { ASUBSS, yxm, Pf3, {0x5c} },
+ { AUCOMISD, yxcmp, Pe, {0x2e} },
+ { AUCOMISS, yxcmp, Pm, {0x2e} },
+ { AUNPCKHPD, yxm, Pe, {0x15} },
+ { AUNPCKHPS, yxm, Pm, {0x15} },
+ { AUNPCKLPD, yxm, Pe, {0x14} },
+ { AUNPCKLPS, yxm, Pm, {0x14} },
+ { AXORPD, yxm, Pe, {0x57} },
+ { AXORPS, yxm, Pm, {0x57} },
- { AAESENC, yaes, Pq, 0x38,0xdc,(0) },
- { APINSRD, yinsrd, Pq, 0x3a, 0x22, (00) },
- { APSHUFB, ymshufb,Pq, 0x38, 0x00 },
+ { AAESENC, yaes, Pq, {0x38,0xdc,(0)} },
+ { APINSRD, yinsrd, Pq, {0x3a, 0x22, (00)} },
+ { APSHUFB, ymshufb,Pq, {0x38, 0x00} },
- { AUSEFIELD, ynop, Px, 0,0 },
+ { AUSEFIELD, ynop, Px, {0,0} },
{ ATYPE },
- { AFUNCDATA, yfuncdata, Px, 0,0 },
- { APCDATA, ypcdata, Px, 0,0 },
+ { AFUNCDATA, yfuncdata, Px, {0,0} },
+ { APCDATA, ypcdata, Px, {0,0} },
{ ACHECKNIL },
{ AVARDEF },
{ AVARKILL },
- { ADUFFCOPY, yduff, Px, 0xe8 },
- { ADUFFZERO, yduff, Px, 0xe8 },
+ { ADUFFCOPY, yduff, Px, {0xe8} },
+ { ADUFFZERO, yduff, Px, {0xe8} },
- 0
+ {0}
};
static int32 vaddr(Link*, Addr*, Reloc*);
diff --git a/src/liblink/ld.c b/src/liblink/ld.c
index 9ea0e9a..a2fdce5 100644
--- a/src/liblink/ld.c
+++ b/src/liblink/ld.c
@@ -161,7 +161,10 @@
uchar inuxi4[4];
uchar inuxi8[8];
-#define LOG 5
+enum
+{
+ LOG = 5,
+};
void
mkfwd(LSym *sym)
{
diff --git a/src/liblink/obj6.c b/src/liblink/obj6.c
index a8538c9..6879e97 100644
--- a/src/liblink/obj6.c
+++ b/src/liblink/obj6.c
@@ -958,7 +958,7 @@
{
Prog *q;
int i;
- enum as a;
+ int a;
loop:
if(p == nil)
diff --git a/src/liblink/obj8.c b/src/liblink/obj8.c
index 6f96eba..2fc48d3 100644
--- a/src/liblink/obj8.c
+++ b/src/liblink/obj8.c
@@ -697,7 +697,7 @@
{
Prog *q;
int i;
- enum as a;
+ int a;
loop:
if(p == nil)
diff --git a/src/liblink/sym.c b/src/liblink/sym.c
index c8da39d..44c6f6b 100644
--- a/src/liblink/sym.c
+++ b/src/liblink/sym.c
@@ -44,20 +44,20 @@
char *name;
int val;
} headers[] = {
- "darwin", Hdarwin,
- "dragonfly", Hdragonfly,
- "elf", Helf,
- "freebsd", Hfreebsd,
- "linux", Hlinux,
- "android", Hlinux,
- "nacl", Hnacl,
- "netbsd", Hnetbsd,
- "openbsd", Hopenbsd,
- "plan9", Hplan9,
- "solaris", Hsolaris,
- "windows", Hwindows,
- "windowsgui", Hwindows,
- 0, 0
+ {"android", Hlinux},
+ {"darwin", Hdarwin},
+ {"dragonfly", Hdragonfly},
+ {"elf", Helf},
+ {"freebsd", Hfreebsd},
+ {"linux", Hlinux},
+ {"nacl", Hnacl},
+ {"netbsd", Hnetbsd},
+ {"openbsd", Hopenbsd},
+ {"plan9", Hplan9},
+ {"solaris", Hsolaris},
+ {"windows", Hwindows},
+ {"windowsgui", Hwindows},
+ {0, 0},
};
int
diff --git a/src/pkg/runtime/funcdata.h b/src/pkg/runtime/funcdata.h
index e20b6ae..1f624b5 100644
--- a/src/pkg/runtime/funcdata.h
+++ b/src/pkg/runtime/funcdata.h
@@ -22,3 +22,14 @@
// assembly code without an explicit specification).
// This value is generated by the compiler, assembler, or linker.
#define ArgsSizeUnknown 0x80000000
+
+/*c2go
+enum {
+ PCDATA_ArgSize = 0,
+ PCDATA_StackMapIndex = 1,
+ FUNCDATA_ArgsPointerMaps = 2,
+ FUNCDATA_LocalsPointerMaps = 3,
+ FUNCDATA_DeadValueMaps = 4,
+ ArgsSizeUnknown = 0x80000000,
+};
+*/
diff --git a/src/pkg/runtime/stack.h b/src/pkg/runtime/stack.h
index 18ab30b..ee5fd35 100644
--- a/src/pkg/runtime/stack.h
+++ b/src/pkg/runtime/stack.h
@@ -111,3 +111,9 @@
// Must be greater than any real sp.
// 0xfffffade in hex.
#define StackPreempt ((uint64)-1314)
+/*c2go
+enum
+{
+ StackPreempt = -1314,
+};
+*/