xref: /plan9-contrib/sys/src/cmd/6a/lex.c (revision 40d015479ed36701ae6dcfd8814f849fc6285e8d)
1e887ea33SDavid du Colombier #define	EXTERN
2e887ea33SDavid du Colombier #include "a.h"
3e887ea33SDavid du Colombier #include "y.tab.h"
4e887ea33SDavid du Colombier #include <ctype.h>
5e887ea33SDavid du Colombier 
6e887ea33SDavid du Colombier void
main(int argc,char * argv[])7e887ea33SDavid du Colombier main(int argc, char *argv[])
8e887ea33SDavid du Colombier {
9e887ea33SDavid du Colombier 	char *p;
10e887ea33SDavid du Colombier 	int nout, nproc, status, i, c;
11e887ea33SDavid du Colombier 
12e887ea33SDavid du Colombier 	thechar = '6';
13e887ea33SDavid du Colombier 	thestring = "amd64";
14e887ea33SDavid du Colombier 	memset(debug, 0, sizeof(debug));
15e887ea33SDavid du Colombier 	cinit();
16e887ea33SDavid du Colombier 	outfile = 0;
17e887ea33SDavid du Colombier 	include[ninclude++] = ".";
18e887ea33SDavid du Colombier 	ARGBEGIN {
19e887ea33SDavid du Colombier 	default:
20e887ea33SDavid du Colombier 		c = ARGC();
21e887ea33SDavid du Colombier 		if(c >= 0 || c < sizeof(debug))
22e887ea33SDavid du Colombier 			debug[c] = 1;
23e887ea33SDavid du Colombier 		break;
24e887ea33SDavid du Colombier 
25e887ea33SDavid du Colombier 	case 'o':
26e887ea33SDavid du Colombier 		outfile = ARGF();
27e887ea33SDavid du Colombier 		break;
28e887ea33SDavid du Colombier 
29e887ea33SDavid du Colombier 	case 'D':
30e887ea33SDavid du Colombier 		p = ARGF();
31e887ea33SDavid du Colombier 		if(p)
32e887ea33SDavid du Colombier 			Dlist[nDlist++] = p;
33e887ea33SDavid du Colombier 		break;
34e887ea33SDavid du Colombier 
35e887ea33SDavid du Colombier 	case 'I':
36e887ea33SDavid du Colombier 		p = ARGF();
37e887ea33SDavid du Colombier 		setinclude(p);
38e887ea33SDavid du Colombier 		break;
39e887ea33SDavid du Colombier 	} ARGEND
40e887ea33SDavid du Colombier 	if(*argv == 0) {
41e887ea33SDavid du Colombier 		print("usage: %ca [-options] file.s\n", thechar);
42e887ea33SDavid du Colombier 		errorexit();
43e887ea33SDavid du Colombier 	}
44e887ea33SDavid du Colombier 	if(argc > 1 && systemtype(Windows)){
45e887ea33SDavid du Colombier 		print("can't assemble multiple files on windows\n");
46e887ea33SDavid du Colombier 		errorexit();
47e887ea33SDavid du Colombier 	}
48e887ea33SDavid du Colombier 	if(argc > 1 && !systemtype(Windows)) {
49e887ea33SDavid du Colombier 		nproc = 1;
50e887ea33SDavid du Colombier 		if(p = getenv("NPROC"))
51e887ea33SDavid du Colombier 			nproc = atol(p);	/* */
52e887ea33SDavid du Colombier 		c = 0;
53e887ea33SDavid du Colombier 		nout = 0;
54e887ea33SDavid du Colombier 		for(;;) {
55e887ea33SDavid du Colombier 			while(nout < nproc && argc > 0) {
56e887ea33SDavid du Colombier 				i = myfork();
57e887ea33SDavid du Colombier 				if(i < 0) {
58e887ea33SDavid du Colombier 					i = mywait(&status);
59e887ea33SDavid du Colombier 					if(i < 0)
60e887ea33SDavid du Colombier 						errorexit();
61e887ea33SDavid du Colombier 					if(status)
62e887ea33SDavid du Colombier 						c++;
63e887ea33SDavid du Colombier 					nout--;
64e887ea33SDavid du Colombier 					continue;
65e887ea33SDavid du Colombier 				}
66e887ea33SDavid du Colombier 				if(i == 0) {
67e887ea33SDavid du Colombier 					print("%s:\n", *argv);
68e887ea33SDavid du Colombier 					if(assemble(*argv))
69e887ea33SDavid du Colombier 						errorexit();
70e887ea33SDavid du Colombier 					exits(0);
71e887ea33SDavid du Colombier 				}
72e887ea33SDavid du Colombier 				nout++;
73e887ea33SDavid du Colombier 				argc--;
74e887ea33SDavid du Colombier 				argv++;
75e887ea33SDavid du Colombier 			}
76e887ea33SDavid du Colombier 			i = mywait(&status);
77e887ea33SDavid du Colombier 			if(i < 0) {
78e887ea33SDavid du Colombier 				if(c)
79e887ea33SDavid du Colombier 					errorexit();
80e887ea33SDavid du Colombier 				exits(0);
81e887ea33SDavid du Colombier 			}
82e887ea33SDavid du Colombier 			if(status)
83e887ea33SDavid du Colombier 				c++;
84e887ea33SDavid du Colombier 			nout--;
85e887ea33SDavid du Colombier 		}
86e887ea33SDavid du Colombier 	}
87e887ea33SDavid du Colombier 	if(assemble(argv[0]))
88e887ea33SDavid du Colombier 		errorexit();
89e887ea33SDavid du Colombier 	exits(0);
90e887ea33SDavid du Colombier }
91e887ea33SDavid du Colombier 
92e887ea33SDavid du Colombier int
assemble(char * file)93e887ea33SDavid du Colombier assemble(char *file)
94e887ea33SDavid du Colombier {
95e887ea33SDavid du Colombier 	char ofile[100], incfile[20], *p;
96e887ea33SDavid du Colombier 	int i, of;
97e887ea33SDavid du Colombier 
98e887ea33SDavid du Colombier 	strcpy(ofile, file);
99e887ea33SDavid du Colombier 	p = utfrrune(ofile, pathchar());
100e887ea33SDavid du Colombier 	if(p) {
101e887ea33SDavid du Colombier 		include[0] = ofile;
102e887ea33SDavid du Colombier 		*p++ = 0;
103e887ea33SDavid du Colombier 	} else
104e887ea33SDavid du Colombier 		p = ofile;
105e887ea33SDavid du Colombier 	if(outfile == 0) {
106e887ea33SDavid du Colombier 		outfile = p;
107e887ea33SDavid du Colombier 		if(outfile){
108e887ea33SDavid du Colombier 			p = utfrrune(outfile, '.');
109e887ea33SDavid du Colombier 			if(p)
110e887ea33SDavid du Colombier 				if(p[1] == 's' && p[2] == 0)
111e887ea33SDavid du Colombier 					p[0] = 0;
112e887ea33SDavid du Colombier 			p = utfrune(outfile, 0);
113e887ea33SDavid du Colombier 			p[0] = '.';
114e887ea33SDavid du Colombier 			p[1] = thechar;
115e887ea33SDavid du Colombier 			p[2] = 0;
116e887ea33SDavid du Colombier 		} else
117e887ea33SDavid du Colombier 			outfile = "/dev/null";
118e887ea33SDavid du Colombier 	}
119e887ea33SDavid du Colombier 	p = getenv("INCLUDE");
120e887ea33SDavid du Colombier 	if(p) {
121e887ea33SDavid du Colombier 		setinclude(p);
122e887ea33SDavid du Colombier 	} else {
123e887ea33SDavid du Colombier 		if(systemtype(Plan9)) {
124*40d01547SDavid du Colombier 			p = getenv("ccroot");
125*40d01547SDavid du Colombier 			if(p == nil)
126*40d01547SDavid du Colombier 				p = "";
127*40d01547SDavid du Colombier 			snprint(incfile, sizeof(incfile), "%s/%s/include", p, thestring);
128e887ea33SDavid du Colombier 			setinclude(strdup(incfile));
129e887ea33SDavid du Colombier 		}
130e887ea33SDavid du Colombier 	}
131e887ea33SDavid du Colombier 
132e887ea33SDavid du Colombier 	of = mycreat(outfile, 0664);
133e887ea33SDavid du Colombier 	if(of < 0) {
134e887ea33SDavid du Colombier 		yyerror("%ca: cannot create %s", thechar, outfile);
135e887ea33SDavid du Colombier 		errorexit();
136e887ea33SDavid du Colombier 	}
137e887ea33SDavid du Colombier 	Binit(&obuf, of, OWRITE);
138e887ea33SDavid du Colombier 
139e887ea33SDavid du Colombier 	pass = 1;
140e887ea33SDavid du Colombier 	pinit(file);
141e887ea33SDavid du Colombier 	for(i=0; i<nDlist; i++)
142e887ea33SDavid du Colombier 		dodefine(Dlist[i]);
143e887ea33SDavid du Colombier 	yyparse();
144e887ea33SDavid du Colombier 	if(nerrors) {
145e887ea33SDavid du Colombier 		cclean();
146e887ea33SDavid du Colombier 		return nerrors;
147e887ea33SDavid du Colombier 	}
148e887ea33SDavid du Colombier 
149e887ea33SDavid du Colombier 	pass = 2;
150e887ea33SDavid du Colombier 	outhist();
151e887ea33SDavid du Colombier 	pinit(file);
152e887ea33SDavid du Colombier 	for(i=0; i<nDlist; i++)
153e887ea33SDavid du Colombier 		dodefine(Dlist[i]);
154e887ea33SDavid du Colombier 	yyparse();
155e887ea33SDavid du Colombier 	cclean();
156e887ea33SDavid du Colombier 	return nerrors;
157e887ea33SDavid du Colombier }
158e887ea33SDavid du Colombier 
159e887ea33SDavid du Colombier struct
160e887ea33SDavid du Colombier {
161e887ea33SDavid du Colombier 	char	*name;
162e887ea33SDavid du Colombier 	ushort	type;
163e887ea33SDavid du Colombier 	ushort	value;
164e887ea33SDavid du Colombier } itab[] =
165e887ea33SDavid du Colombier {
166e887ea33SDavid du Colombier 	"SP",		LSP,	D_AUTO,
167e887ea33SDavid du Colombier 	"SB",		LSB,	D_EXTERN,
168e887ea33SDavid du Colombier 	"FP",		LFP,	D_PARAM,
169e887ea33SDavid du Colombier 	"PC",		LPC,	D_BRANCH,
170e887ea33SDavid du Colombier 
171e887ea33SDavid du Colombier 	"AL",		LBREG,	D_AL,
172e887ea33SDavid du Colombier 	"CL",		LBREG,	D_CL,
173e887ea33SDavid du Colombier 	"DL",		LBREG,	D_DL,
174e887ea33SDavid du Colombier 	"BL",		LBREG,	D_BL,
175e887ea33SDavid du Colombier /*	"SPB",		LBREG,	D_SPB,	*/
176e887ea33SDavid du Colombier 	"SIB",		LBREG,	D_SIB,
177e887ea33SDavid du Colombier 	"DIB",		LBREG,	D_DIB,
178e887ea33SDavid du Colombier 	"BPB",		LBREG,	D_BPB,
179e887ea33SDavid du Colombier 	"R8B",		LBREG,	D_R8B,
180e887ea33SDavid du Colombier 	"R9B",		LBREG,	D_R9B,
181e887ea33SDavid du Colombier 	"R10B",		LBREG,	D_R10B,
182e887ea33SDavid du Colombier 	"R11B",		LBREG,	D_R11B,
183e887ea33SDavid du Colombier 	"R12B",		LBREG,	D_R12B,
184e887ea33SDavid du Colombier 	"R13B",		LBREG,	D_R13B,
185e887ea33SDavid du Colombier 	"R14B",		LBREG,	D_R14B,
186e887ea33SDavid du Colombier 	"R15B",		LBREG,	D_R15B,
187e887ea33SDavid du Colombier 
188e887ea33SDavid du Colombier 	"AH",		LBREG,	D_AH,
189e887ea33SDavid du Colombier 	"CH",		LBREG,	D_CH,
190e887ea33SDavid du Colombier 	"DH",		LBREG,	D_DH,
191e887ea33SDavid du Colombier 	"BH",		LBREG,	D_BH,
192e887ea33SDavid du Colombier 
193e887ea33SDavid du Colombier 	"AX",		LLREG,	D_AX,
194e887ea33SDavid du Colombier 	"CX",		LLREG,	D_CX,
195e887ea33SDavid du Colombier 	"DX",		LLREG,	D_DX,
196e887ea33SDavid du Colombier 	"BX",		LLREG,	D_BX,
197e887ea33SDavid du Colombier /*	"SP",		LLREG,	D_SP,	*/
198e887ea33SDavid du Colombier 	"BP",		LLREG,	D_BP,
199e887ea33SDavid du Colombier 	"SI",		LLREG,	D_SI,
200e887ea33SDavid du Colombier 	"DI",		LLREG,	D_DI,
201e887ea33SDavid du Colombier 	"R8",		LLREG,	D_R8,
202e887ea33SDavid du Colombier 	"R9",		LLREG,	D_R9,
203e887ea33SDavid du Colombier 	"R10",		LLREG,	D_R10,
204e887ea33SDavid du Colombier 	"R11",		LLREG,	D_R11,
205e887ea33SDavid du Colombier 	"R12",		LLREG,	D_R12,
206e887ea33SDavid du Colombier 	"R13",		LLREG,	D_R13,
207e887ea33SDavid du Colombier 	"R14",		LLREG,	D_R14,
208e887ea33SDavid du Colombier 	"R15",		LLREG,	D_R15,
209e887ea33SDavid du Colombier 
210e887ea33SDavid du Colombier 	"RARG",		LLREG,	REGARG,
211e887ea33SDavid du Colombier 
212*40d01547SDavid du Colombier /*
213e887ea33SDavid du Colombier 	"F0",		LFREG,	D_F0+0,
214e887ea33SDavid du Colombier 	"F1",		LFREG,	D_F0+1,
215e887ea33SDavid du Colombier 	"F2",		LFREG,	D_F0+2,
216e887ea33SDavid du Colombier 	"F3",		LFREG,	D_F0+3,
217e887ea33SDavid du Colombier 	"F4",		LFREG,	D_F0+4,
218e887ea33SDavid du Colombier 	"F5",		LFREG,	D_F0+5,
219e887ea33SDavid du Colombier 	"F6",		LFREG,	D_F0+6,
220e887ea33SDavid du Colombier 	"F7",		LFREG,	D_F0+7,
221*40d01547SDavid du Colombier */
222e887ea33SDavid du Colombier 
223e887ea33SDavid du Colombier 	"M0",		LMREG,	D_M0+0,
224e887ea33SDavid du Colombier 	"M1",		LMREG,	D_M0+1,
225e887ea33SDavid du Colombier 	"M2",		LMREG,	D_M0+2,
226e887ea33SDavid du Colombier 	"M3",		LMREG,	D_M0+3,
227e887ea33SDavid du Colombier 	"M4",		LMREG,	D_M0+4,
228e887ea33SDavid du Colombier 	"M5",		LMREG,	D_M0+5,
229e887ea33SDavid du Colombier 	"M6",		LMREG,	D_M0+6,
230e887ea33SDavid du Colombier 	"M7",		LMREG,	D_M0+7,
231e887ea33SDavid du Colombier 
232e887ea33SDavid du Colombier 	"X0",		LXREG,	D_X0+0,
233e887ea33SDavid du Colombier 	"X1",		LXREG,	D_X0+1,
234e887ea33SDavid du Colombier 	"X2",		LXREG,	D_X0+2,
235e887ea33SDavid du Colombier 	"X3",		LXREG,	D_X0+3,
236e887ea33SDavid du Colombier 	"X4",		LXREG,	D_X0+4,
237e887ea33SDavid du Colombier 	"X5",		LXREG,	D_X0+5,
238e887ea33SDavid du Colombier 	"X6",		LXREG,	D_X0+6,
239e887ea33SDavid du Colombier 	"X7",		LXREG,	D_X0+7,
240e887ea33SDavid du Colombier 	"X8",		LXREG,	D_X0+8,
241e887ea33SDavid du Colombier 	"X9",		LXREG,	D_X0+9,
242e887ea33SDavid du Colombier 	"X10",		LXREG,	D_X0+10,
243e887ea33SDavid du Colombier 	"X11",		LXREG,	D_X0+11,
244e887ea33SDavid du Colombier 	"X12",		LXREG,	D_X0+12,
245e887ea33SDavid du Colombier 	"X13",		LXREG,	D_X0+13,
246e887ea33SDavid du Colombier 	"X14",		LXREG,	D_X0+14,
247e887ea33SDavid du Colombier 	"X15",		LXREG,	D_X0+15,
248e887ea33SDavid du Colombier 
249*40d01547SDavid du Colombier 	"Y0",		LYREG,	D_Y0+0,
250*40d01547SDavid du Colombier 	"Y1",		LYREG,	D_Y0+1,
251*40d01547SDavid du Colombier 	"Y2",		LYREG,	D_Y0+2,
252*40d01547SDavid du Colombier 	"Y3",		LYREG,	D_Y0+3,
253*40d01547SDavid du Colombier 	"Y4",		LYREG,	D_Y0+4,
254*40d01547SDavid du Colombier 	"Y5",		LYREG,	D_Y0+5,
255*40d01547SDavid du Colombier 	"Y6",		LYREG,	D_Y0+6,
256*40d01547SDavid du Colombier 	"Y7",		LYREG,	D_Y0+7,
257*40d01547SDavid du Colombier 	"Y8",		LYREG,	D_Y0+8,
258*40d01547SDavid du Colombier 	"Y9",		LYREG,	D_Y0+9,
259*40d01547SDavid du Colombier 	"Y10",		LYREG,	D_Y0+10,
260*40d01547SDavid du Colombier 	"Y11",		LYREG,	D_Y0+11,
261*40d01547SDavid du Colombier 	"Y12",		LYREG,	D_Y0+12,
262*40d01547SDavid du Colombier 	"Y13",		LYREG,	D_Y0+13,
263*40d01547SDavid du Colombier 	"Y14",		LYREG,	D_Y0+14,
264*40d01547SDavid du Colombier 	"Y15",		LYREG,	D_Y0+15,
265*40d01547SDavid du Colombier 
266e887ea33SDavid du Colombier 	"CS",		LSREG,	D_CS,
267e887ea33SDavid du Colombier 	"SS",		LSREG,	D_SS,
268e887ea33SDavid du Colombier 	"DS",		LSREG,	D_DS,
269e887ea33SDavid du Colombier 	"ES",		LSREG,	D_ES,
270e887ea33SDavid du Colombier 	"FS",		LSREG,	D_FS,
271e887ea33SDavid du Colombier 	"GS",		LSREG,	D_GS,
272e887ea33SDavid du Colombier 
273e887ea33SDavid du Colombier 	"GDTR",		LBREG,	D_GDTR,
274e887ea33SDavid du Colombier 	"IDTR",		LBREG,	D_IDTR,
275e887ea33SDavid du Colombier 	"LDTR",		LBREG,	D_LDTR,
276e887ea33SDavid du Colombier 	"MSW",		LBREG,	D_MSW,
277e887ea33SDavid du Colombier 	"TASK",		LBREG,	D_TASK,
278e887ea33SDavid du Colombier 
279e887ea33SDavid du Colombier 	"CR0",		LBREG,	D_CR+0,
280e887ea33SDavid du Colombier 	"CR1",		LBREG,	D_CR+1,
281e887ea33SDavid du Colombier 	"CR2",		LBREG,	D_CR+2,
282e887ea33SDavid du Colombier 	"CR3",		LBREG,	D_CR+3,
283e887ea33SDavid du Colombier 	"CR4",		LBREG,	D_CR+4,
284e887ea33SDavid du Colombier 	"CR5",		LBREG,	D_CR+5,
285e887ea33SDavid du Colombier 	"CR6",		LBREG,	D_CR+6,
286e887ea33SDavid du Colombier 	"CR7",		LBREG,	D_CR+7,
287e887ea33SDavid du Colombier 	"CR8",		LBREG,	D_CR+8,
288e887ea33SDavid du Colombier 	"CR9",		LBREG,	D_CR+9,
289e887ea33SDavid du Colombier 	"CR10",		LBREG,	D_CR+10,
290e887ea33SDavid du Colombier 	"CR11",		LBREG,	D_CR+11,
291e887ea33SDavid du Colombier 	"CR12",		LBREG,	D_CR+12,
292e887ea33SDavid du Colombier 	"CR13",		LBREG,	D_CR+13,
293e887ea33SDavid du Colombier 	"CR14",		LBREG,	D_CR+14,
294e887ea33SDavid du Colombier 	"CR15",		LBREG,	D_CR+15,
295e887ea33SDavid du Colombier 
296e887ea33SDavid du Colombier 	"DR0",		LBREG,	D_DR+0,
297e887ea33SDavid du Colombier 	"DR1",		LBREG,	D_DR+1,
298e887ea33SDavid du Colombier 	"DR2",		LBREG,	D_DR+2,
299e887ea33SDavid du Colombier 	"DR3",		LBREG,	D_DR+3,
300e887ea33SDavid du Colombier 	"DR4",		LBREG,	D_DR+4,
301e887ea33SDavid du Colombier 	"DR5",		LBREG,	D_DR+5,
302e887ea33SDavid du Colombier 	"DR6",		LBREG,	D_DR+6,
303e887ea33SDavid du Colombier 	"DR7",		LBREG,	D_DR+7,
304e887ea33SDavid du Colombier 
305e887ea33SDavid du Colombier 	"TR0",		LBREG,	D_TR+0,
306e887ea33SDavid du Colombier 	"TR1",		LBREG,	D_TR+1,
307e887ea33SDavid du Colombier 	"TR2",		LBREG,	D_TR+2,
308e887ea33SDavid du Colombier 	"TR3",		LBREG,	D_TR+3,
309e887ea33SDavid du Colombier 	"TR4",		LBREG,	D_TR+4,
310e887ea33SDavid du Colombier 	"TR5",		LBREG,	D_TR+5,
311e887ea33SDavid du Colombier 	"TR6",		LBREG,	D_TR+6,
312e887ea33SDavid du Colombier 	"TR7",		LBREG,	D_TR+7,
313e887ea33SDavid du Colombier 
314e887ea33SDavid du Colombier 	"AAA",		LTYPE0,	AAAA,
315e887ea33SDavid du Colombier 	"AAD",		LTYPE0,	AAAD,
316e887ea33SDavid du Colombier 	"AAM",		LTYPE0,	AAAM,
317e887ea33SDavid du Colombier 	"AAS",		LTYPE0,	AAAS,
318e887ea33SDavid du Colombier 	"ADCB",		LTYPE3,	AADCB,
319e887ea33SDavid du Colombier 	"ADCL",		LTYPE3,	AADCL,
320e887ea33SDavid du Colombier 	"ADCQ",		LTYPE3,	AADCQ,
321e887ea33SDavid du Colombier 	"ADCW",		LTYPE3,	AADCW,
322e887ea33SDavid du Colombier 	"ADDB",		LTYPE3,	AADDB,
323e887ea33SDavid du Colombier 	"ADDL",		LTYPE3,	AADDL,
324e887ea33SDavid du Colombier 	"ADDQ",		LTYPE3,	AADDQ,
325e887ea33SDavid du Colombier 	"ADDW",		LTYPE3,	AADDW,
326e887ea33SDavid du Colombier 	"ADJSP",	LTYPE2,	AADJSP,
327e887ea33SDavid du Colombier 	"ANDB",		LTYPE3,	AANDB,
328e887ea33SDavid du Colombier 	"ANDL",		LTYPE3,	AANDL,
329e887ea33SDavid du Colombier 	"ANDQ",		LTYPE3,	AANDQ,
330e887ea33SDavid du Colombier 	"ANDW",		LTYPE3,	AANDW,
331e887ea33SDavid du Colombier 	"ARPL",		LTYPE3,	AARPL,
332e887ea33SDavid du Colombier 	"BOUNDL",	LTYPE3,	ABOUNDL,
333e887ea33SDavid du Colombier 	"BOUNDW",	LTYPE3,	ABOUNDW,
334e887ea33SDavid du Colombier 	"BSFL",		LTYPE3,	ABSFL,
335e887ea33SDavid du Colombier 	"BSFQ",		LTYPE3,	ABSFQ,
336e887ea33SDavid du Colombier 	"BSFW",		LTYPE3,	ABSFW,
337e887ea33SDavid du Colombier 	"BSRL",		LTYPE3,	ABSRL,
338e887ea33SDavid du Colombier 	"BSRQ",		LTYPE3,	ABSRQ,
339e887ea33SDavid du Colombier 	"BSRW",		LTYPE3,	ABSRW,
340*40d01547SDavid du Colombier 	"BSWAPL",	LTYPE1,	ABSWAPL,
341*40d01547SDavid du Colombier 	"BSWAPQ",	LTYPE1,	ABSWAPQ,
342e887ea33SDavid du Colombier 	"BTCL",		LTYPE3,	ABTCL,
343e887ea33SDavid du Colombier 	"BTCQ",		LTYPE3,	ABTCQ,
344e887ea33SDavid du Colombier 	"BTCW",		LTYPE3,	ABTCW,
345e887ea33SDavid du Colombier 	"BTL",		LTYPE3,	ABTL,
346e887ea33SDavid du Colombier 	"BTQ",		LTYPE3,	ABTQ,
347e887ea33SDavid du Colombier 	"BTRL",		LTYPE3,	ABTRL,
348e887ea33SDavid du Colombier 	"BTRQ",		LTYPE3,	ABTRQ,
349e887ea33SDavid du Colombier 	"BTRW",		LTYPE3,	ABTRW,
350e887ea33SDavid du Colombier 	"BTSL",		LTYPE3,	ABTSL,
351e887ea33SDavid du Colombier 	"BTSQ",		LTYPE3,	ABTSQ,
352e887ea33SDavid du Colombier 	"BTSW",		LTYPE3,	ABTSW,
353e887ea33SDavid du Colombier 	"BTW",		LTYPE3,	ABTW,
354e887ea33SDavid du Colombier 	"BYTE",		LTYPE2,	ABYTE,
355e887ea33SDavid du Colombier 	"CALL",		LTYPEC,	ACALL,
356e887ea33SDavid du Colombier 	"CLC",		LTYPE0,	ACLC,
357e887ea33SDavid du Colombier 	"CLD",		LTYPE0,	ACLD,
358e887ea33SDavid du Colombier 	"CLI",		LTYPE0,	ACLI,
359e887ea33SDavid du Colombier 	"CLTS",		LTYPE0,	ACLTS,
360e887ea33SDavid du Colombier 	"CMC",		LTYPE0,	ACMC,
361e887ea33SDavid du Colombier 	"CMPB",		LTYPE4,	ACMPB,
362e887ea33SDavid du Colombier 	"CMPL",		LTYPE4,	ACMPL,
363e887ea33SDavid du Colombier 	"CMPQ",		LTYPE4,	ACMPQ,
364e887ea33SDavid du Colombier 	"CMPW",		LTYPE4,	ACMPW,
365e887ea33SDavid du Colombier 	"CMPSB",	LTYPE0,	ACMPSB,
366e887ea33SDavid du Colombier 	"CMPSL",	LTYPE0,	ACMPSL,
367e887ea33SDavid du Colombier 	"CMPSQ",	LTYPE0,	ACMPSQ,
368e887ea33SDavid du Colombier 	"CMPSW",	LTYPE0,	ACMPSW,
369e887ea33SDavid du Colombier 	"CMPXCHG8B",	LTYPE1,	ACMPXCHG8B,
370*40d01547SDavid du Colombier 	"CMPXCHG16B",	LTYPE1,	ACMPXCHG16B,
371e887ea33SDavid du Colombier 	"CMPXCHGB",	LTYPE3,	ACMPXCHGB,	/* LTYPE3? */
372e887ea33SDavid du Colombier 	"CMPXCHGL",	LTYPE3,	ACMPXCHGL,
373e887ea33SDavid du Colombier 	"CMPXCHGQ",	LTYPE3,	ACMPXCHGQ,
374e887ea33SDavid du Colombier 	"CMPXCHGW",	LTYPE3,	ACMPXCHGW,
375e887ea33SDavid du Colombier 	"CPUID",	LTYPE0,	ACPUID,
376e887ea33SDavid du Colombier 	"DAA",		LTYPE0,	ADAA,
377e887ea33SDavid du Colombier 	"DAS",		LTYPE0,	ADAS,
378e887ea33SDavid du Colombier 	"DATA",		LTYPED,	ADATA,
379e887ea33SDavid du Colombier 	"DECB",		LTYPE1,	ADECB,
380e887ea33SDavid du Colombier 	"DECL",		LTYPE1,	ADECL,
381e887ea33SDavid du Colombier 	"DECQ",		LTYPE1,	ADECQ,
382e887ea33SDavid du Colombier 	"DECW",		LTYPE1,	ADECW,
383e887ea33SDavid du Colombier 	"DIVB",		LTYPE2,	ADIVB,
384e887ea33SDavid du Colombier 	"DIVL",		LTYPE2,	ADIVL,
385e887ea33SDavid du Colombier 	"DIVQ",		LTYPE2,	ADIVQ,
386e887ea33SDavid du Colombier 	"DIVW",		LTYPE2,	ADIVW,
387e887ea33SDavid du Colombier 	"EMMS",		LTYPE0,	AEMMS,
388e887ea33SDavid du Colombier 	"END",		LTYPE0,	AEND,
389e887ea33SDavid du Colombier 	"ENTER",	LTYPE2,	AENTER,
390e887ea33SDavid du Colombier 	"GLOBL",	LTYPET,	AGLOBL,
391e887ea33SDavid du Colombier 	"HLT",		LTYPE0,	AHLT,
392e887ea33SDavid du Colombier 	"IDIVB",	LTYPE2,	AIDIVB,
393e887ea33SDavid du Colombier 	"IDIVL",	LTYPE2,	AIDIVL,
394e887ea33SDavid du Colombier 	"IDIVQ",	LTYPE2,	AIDIVQ,
395e887ea33SDavid du Colombier 	"IDIVW",	LTYPE2,	AIDIVW,
396e887ea33SDavid du Colombier 	"IMULB",	LTYPEI,	AIMULB,
397e887ea33SDavid du Colombier 	"IMULL",	LTYPEI,	AIMULL,
398e887ea33SDavid du Colombier 	"IMULQ",	LTYPEI,	AIMULQ,
399e887ea33SDavid du Colombier 	"IMULW",	LTYPEI,	AIMULW,
400e887ea33SDavid du Colombier 	"INB",		LTYPE0,	AINB,
401e887ea33SDavid du Colombier 	"INL",		LTYPE0,	AINL,
402e887ea33SDavid du Colombier 	"INW",		LTYPE0,	AINW,
403e887ea33SDavid du Colombier 	"INCB",		LTYPE1,	AINCB,
404e887ea33SDavid du Colombier 	"INCL",		LTYPE1,	AINCL,
405e887ea33SDavid du Colombier 	"INCQ",		LTYPE1,	AINCQ,
406e887ea33SDavid du Colombier 	"INCW",		LTYPE1,	AINCW,
407e887ea33SDavid du Colombier 	"INSB",		LTYPE0,	AINSB,
408e887ea33SDavid du Colombier 	"INSL",		LTYPE0,	AINSL,
409e887ea33SDavid du Colombier 	"INSW",		LTYPE0,	AINSW,
410e887ea33SDavid du Colombier 	"INT",		LTYPE2,	AINT,
411e887ea33SDavid du Colombier 	"INTO",		LTYPE0,	AINTO,
412e887ea33SDavid du Colombier 	"INVD",		LTYPE0,	AINVD,
413e887ea33SDavid du Colombier 	"INVLPG",	LTYPE2,	AINVLPG,
414e887ea33SDavid du Colombier 	"IRETL",	LTYPE0,	AIRETL,
415e887ea33SDavid du Colombier 	"IRETQ",	LTYPE0,	AIRETQ,
416e887ea33SDavid du Colombier 	"IRETW",	LTYPE0,	AIRETW,
417e887ea33SDavid du Colombier 
418e887ea33SDavid du Colombier 	"JOS",		LTYPER,	AJOS,
419e887ea33SDavid du Colombier 	"JO",		LTYPER,	AJOS,	/* alternate */
420e887ea33SDavid du Colombier 	"JOC",		LTYPER,	AJOC,
421e887ea33SDavid du Colombier 	"JNO",		LTYPER,	AJOC,	/* alternate */
422e887ea33SDavid du Colombier 	"JCS",		LTYPER,	AJCS,
423e887ea33SDavid du Colombier 	"JB",		LTYPER,	AJCS,	/* alternate */
424e887ea33SDavid du Colombier 	"JC",		LTYPER,	AJCS,	/* alternate */
425e887ea33SDavid du Colombier 	"JNAE",		LTYPER,	AJCS,	/* alternate */
426e887ea33SDavid du Colombier 	"JLO",		LTYPER,	AJCS,	/* alternate */
427e887ea33SDavid du Colombier 	"JCC",		LTYPER,	AJCC,
428e887ea33SDavid du Colombier 	"JAE",		LTYPER,	AJCC,	/* alternate */
429e887ea33SDavid du Colombier 	"JNB",		LTYPER,	AJCC,	/* alternate */
430e887ea33SDavid du Colombier 	"JNC",		LTYPER,	AJCC,	/* alternate */
431e887ea33SDavid du Colombier 	"JHS",		LTYPER,	AJCC,	/* alternate */
432e887ea33SDavid du Colombier 	"JEQ",		LTYPER,	AJEQ,
433e887ea33SDavid du Colombier 	"JE",		LTYPER,	AJEQ,	/* alternate */
434e887ea33SDavid du Colombier 	"JZ",		LTYPER,	AJEQ,	/* alternate */
435e887ea33SDavid du Colombier 	"JNE",		LTYPER,	AJNE,
436e887ea33SDavid du Colombier 	"JNZ",		LTYPER,	AJNE,	/* alternate */
437e887ea33SDavid du Colombier 	"JLS",		LTYPER,	AJLS,
438e887ea33SDavid du Colombier 	"JBE",		LTYPER,	AJLS,	/* alternate */
439e887ea33SDavid du Colombier 	"JNA",		LTYPER,	AJLS,	/* alternate */
440e887ea33SDavid du Colombier 	"JHI",		LTYPER,	AJHI,
441e887ea33SDavid du Colombier 	"JA",		LTYPER,	AJHI,	/* alternate */
442e887ea33SDavid du Colombier 	"JNBE",		LTYPER,	AJHI,	/* alternate */
443e887ea33SDavid du Colombier 	"JMI",		LTYPER,	AJMI,
444e887ea33SDavid du Colombier 	"JS",		LTYPER,	AJMI,	/* alternate */
445e887ea33SDavid du Colombier 	"JPL",		LTYPER,	AJPL,
446e887ea33SDavid du Colombier 	"JNS",		LTYPER,	AJPL,	/* alternate */
447e887ea33SDavid du Colombier 	"JPS",		LTYPER,	AJPS,
448e887ea33SDavid du Colombier 	"JP",		LTYPER,	AJPS,	/* alternate */
449e887ea33SDavid du Colombier 	"JPE",		LTYPER,	AJPS,	/* alternate */
450e887ea33SDavid du Colombier 	"JPC",		LTYPER,	AJPC,
451e887ea33SDavid du Colombier 	"JNP",		LTYPER,	AJPC,	/* alternate */
452e887ea33SDavid du Colombier 	"JPO",		LTYPER,	AJPC,	/* alternate */
453e887ea33SDavid du Colombier 	"JLT",		LTYPER,	AJLT,
454e887ea33SDavid du Colombier 	"JL",		LTYPER,	AJLT,	/* alternate */
455e887ea33SDavid du Colombier 	"JNGE",		LTYPER,	AJLT,	/* alternate */
456e887ea33SDavid du Colombier 	"JGE",		LTYPER,	AJGE,
457e887ea33SDavid du Colombier 	"JNL",		LTYPER,	AJGE,	/* alternate */
458e887ea33SDavid du Colombier 	"JLE",		LTYPER,	AJLE,
459e887ea33SDavid du Colombier 	"JNG",		LTYPER,	AJLE,	/* alternate */
460e887ea33SDavid du Colombier 	"JGT",		LTYPER,	AJGT,
461e887ea33SDavid du Colombier 	"JG",		LTYPER,	AJGT,	/* alternate */
462e887ea33SDavid du Colombier 	"JNLE",		LTYPER,	AJGT,	/* alternate */
463e887ea33SDavid du Colombier 
464e887ea33SDavid du Colombier 	"JCXZ",		LTYPER,	AJCXZ,
465e887ea33SDavid du Colombier 	"JMP",		LTYPEC,	AJMP,
466e887ea33SDavid du Colombier 	"LAHF",		LTYPE0,	ALAHF,
467e887ea33SDavid du Colombier 	"LARL",		LTYPE3,	ALARL,
468e887ea33SDavid du Colombier 	"LARW",		LTYPE3,	ALARW,
469e887ea33SDavid du Colombier 	"LEAL",		LTYPE3,	ALEAL,
470e887ea33SDavid du Colombier 	"LEAQ",		LTYPE3,	ALEAQ,
471e887ea33SDavid du Colombier 	"LEAW",		LTYPE3,	ALEAW,
472e887ea33SDavid du Colombier 	"LEAVEL",	LTYPE0,	ALEAVEL,
473e887ea33SDavid du Colombier 	"LEAVEQ",	LTYPE0,	ALEAVEQ,
474e887ea33SDavid du Colombier 	"LEAVEW",	LTYPE0,	ALEAVEW,
475e887ea33SDavid du Colombier 	"LFENCE",	LTYPE0,	ALFENCE,
476e887ea33SDavid du Colombier 	"LOCK",		LTYPE0,	ALOCK,
477e887ea33SDavid du Colombier 	"LODSB",	LTYPE0,	ALODSB,
478e887ea33SDavid du Colombier 	"LODSL",	LTYPE0,	ALODSL,
479e887ea33SDavid du Colombier 	"LODSQ",	LTYPE0,	ALODSQ,
480e887ea33SDavid du Colombier 	"LODSW",	LTYPE0,	ALODSW,
481e887ea33SDavid du Colombier 	"LONG",		LTYPE2,	ALONG,
482e887ea33SDavid du Colombier 	"LOOP",		LTYPER,	ALOOP,
483e887ea33SDavid du Colombier 	"LOOPEQ",	LTYPER,	ALOOPEQ,
484e887ea33SDavid du Colombier 	"LOOPNE",	LTYPER,	ALOOPNE,
485e887ea33SDavid du Colombier 	"LSLL",		LTYPE3,	ALSLL,
486e887ea33SDavid du Colombier 	"LSLW",		LTYPE3,	ALSLW,
487e887ea33SDavid du Colombier 	"MFENCE",	LTYPE0,	AMFENCE,
488e887ea33SDavid du Colombier 	"MODE",		LTYPE2,	AMODE,
489e887ea33SDavid du Colombier 	"MOVB",		LTYPE3,	AMOVB,
490e887ea33SDavid du Colombier 	"MOVL",		LTYPEM,	AMOVL,
491e887ea33SDavid du Colombier 	"MOVQ",		LTYPEM,	AMOVQ,
492e887ea33SDavid du Colombier 	"MOVW",		LTYPEM,	AMOVW,
493e887ea33SDavid du Colombier 	"MOVBLSX",	LTYPE3, AMOVBLSX,
494e887ea33SDavid du Colombier 	"MOVBLZX",	LTYPE3, AMOVBLZX,
495e887ea33SDavid du Colombier 	"MOVBQSX",	LTYPE3,	AMOVBQSX,
496e887ea33SDavid du Colombier 	"MOVBQZX",	LTYPE3,	AMOVBQZX,
497e887ea33SDavid du Colombier 	"MOVBWSX",	LTYPE3, AMOVBWSX,
498e887ea33SDavid du Colombier 	"MOVBWZX",	LTYPE3, AMOVBWZX,
499e887ea33SDavid du Colombier 	"MOVLQSX",	LTYPE3, AMOVLQSX,
500e887ea33SDavid du Colombier 	"MOVLQZX",	LTYPE3, AMOVLQZX,
501e887ea33SDavid du Colombier 	"MOVNTIL",	LTYPE3,	AMOVNTIL,
502e887ea33SDavid du Colombier 	"MOVNTIQ",	LTYPE3,	AMOVNTIQ,
503*40d01547SDavid du Colombier 	"MOVQL",	LTYPE3,	AMOVQL,
504e887ea33SDavid du Colombier 	"MOVWLSX",	LTYPE3, AMOVWLSX,
505e887ea33SDavid du Colombier 	"MOVWLZX",	LTYPE3, AMOVWLZX,
506e887ea33SDavid du Colombier 	"MOVWQSX",	LTYPE3,	AMOVWQSX,
507e887ea33SDavid du Colombier 	"MOVWQZX",	LTYPE3,	AMOVWQZX,
508e887ea33SDavid du Colombier 	"MOVSB",	LTYPE0,	AMOVSB,
509e887ea33SDavid du Colombier 	"MOVSL",	LTYPE0,	AMOVSL,
510e887ea33SDavid du Colombier 	"MOVSQ",	LTYPE0,	AMOVSQ,
511e887ea33SDavid du Colombier 	"MOVSW",	LTYPE0,	AMOVSW,
512e887ea33SDavid du Colombier 	"MULB",		LTYPE2,	AMULB,
513e887ea33SDavid du Colombier 	"MULL",		LTYPE2,	AMULL,
514e887ea33SDavid du Colombier 	"MULQ",		LTYPE2,	AMULQ,
515e887ea33SDavid du Colombier 	"MULW",		LTYPE2,	AMULW,
516e887ea33SDavid du Colombier 	"NEGB",		LTYPE1,	ANEGB,
517e887ea33SDavid du Colombier 	"NEGL",		LTYPE1,	ANEGL,
518e887ea33SDavid du Colombier 	"NEGQ",		LTYPE1,	ANEGQ,
519e887ea33SDavid du Colombier 	"NEGW",		LTYPE1,	ANEGW,
520e887ea33SDavid du Colombier 	"NOP",		LTYPEN,	ANOP,
521e887ea33SDavid du Colombier 	"NOTB",		LTYPE1,	ANOTB,
522e887ea33SDavid du Colombier 	"NOTL",		LTYPE1,	ANOTL,
523e887ea33SDavid du Colombier 	"NOTQ",		LTYPE1,	ANOTQ,
524e887ea33SDavid du Colombier 	"NOTW",		LTYPE1,	ANOTW,
525e887ea33SDavid du Colombier 	"ORB",		LTYPE3,	AORB,
526e887ea33SDavid du Colombier 	"ORL",		LTYPE3,	AORL,
527e887ea33SDavid du Colombier 	"ORQ",		LTYPE3,	AORQ,
528e887ea33SDavid du Colombier 	"ORW",		LTYPE3,	AORW,
529e887ea33SDavid du Colombier 	"OUTB",		LTYPE0,	AOUTB,
530e887ea33SDavid du Colombier 	"OUTL",		LTYPE0,	AOUTL,
531e887ea33SDavid du Colombier 	"OUTW",		LTYPE0,	AOUTW,
532e887ea33SDavid du Colombier 	"OUTSB",	LTYPE0,	AOUTSB,
533e887ea33SDavid du Colombier 	"OUTSL",	LTYPE0,	AOUTSL,
534e887ea33SDavid du Colombier 	"OUTSW",	LTYPE0,	AOUTSW,
535*40d01547SDavid du Colombier 	"PAUSE",	LTYPE0,	APAUSE,
536e887ea33SDavid du Colombier 	"POPAL",	LTYPE0,	APOPAL,
537e887ea33SDavid du Colombier 	"POPAW",	LTYPE0,	APOPAW,
538*40d01547SDavid du Colombier 	"POPCNTW",	LTYPE3, APOPCNTW,
539*40d01547SDavid du Colombier 	"POPCNTL",	LTYPE3, APOPCNTL,
540*40d01547SDavid du Colombier 	"POPCNTQ",	LTYPE3, APOPCNTQ,
541e887ea33SDavid du Colombier 	"POPFL",	LTYPE0,	APOPFL,
542e887ea33SDavid du Colombier 	"POPFQ",	LTYPE0,	APOPFQ,
543e887ea33SDavid du Colombier 	"POPFW",	LTYPE0,	APOPFW,
544e887ea33SDavid du Colombier 	"POPL",		LTYPE1,	APOPL,
545e887ea33SDavid du Colombier 	"POPQ",		LTYPE1,	APOPQ,
546e887ea33SDavid du Colombier 	"POPW",		LTYPE1,	APOPW,
547e887ea33SDavid du Colombier 	"PUSHAL",	LTYPE0,	APUSHAL,
548e887ea33SDavid du Colombier 	"PUSHAW",	LTYPE0,	APUSHAW,
549e887ea33SDavid du Colombier 	"PUSHFL",	LTYPE0,	APUSHFL,
550e887ea33SDavid du Colombier 	"PUSHFQ",	LTYPE0,	APUSHFQ,
551e887ea33SDavid du Colombier 	"PUSHFW",	LTYPE0,	APUSHFW,
552e887ea33SDavid du Colombier 	"PUSHL",	LTYPE2,	APUSHL,
553e887ea33SDavid du Colombier 	"PUSHQ",	LTYPE2,	APUSHQ,
554e887ea33SDavid du Colombier 	"PUSHW",	LTYPE2,	APUSHW,
555e887ea33SDavid du Colombier 	"RCLB",		LTYPE3,	ARCLB,
556e887ea33SDavid du Colombier 	"RCLL",		LTYPE3,	ARCLL,
557e887ea33SDavid du Colombier 	"RCLQ",		LTYPE3,	ARCLQ,
558e887ea33SDavid du Colombier 	"RCLW",		LTYPE3,	ARCLW,
559e887ea33SDavid du Colombier 	"RCRB",		LTYPE3,	ARCRB,
560e887ea33SDavid du Colombier 	"RCRL",		LTYPE3,	ARCRL,
561e887ea33SDavid du Colombier 	"RCRQ",		LTYPE3,	ARCRQ,
562e887ea33SDavid du Colombier 	"RCRW",		LTYPE3,	ARCRW,
563e887ea33SDavid du Colombier 	"RDMSR",	LTYPE0,	ARDMSR,
564e887ea33SDavid du Colombier 	"RDPMC",	LTYPE0,	ARDPMC,
565e887ea33SDavid du Colombier 	"RDTSC",	LTYPE0,	ARDTSC,
566e887ea33SDavid du Colombier 	"REP",		LTYPE0,	AREP,
567e887ea33SDavid du Colombier 	"REPN",		LTYPE0,	AREPN,
568e887ea33SDavid du Colombier 	"RET",		LTYPE0,	ARET,
569e887ea33SDavid du Colombier 	"RETFL",	LTYPERT,ARETFL,
570e887ea33SDavid du Colombier 	"RETFW",	LTYPERT,ARETFW,
571e887ea33SDavid du Colombier 	"RETFQ",	LTYPERT,ARETFQ,
572e887ea33SDavid du Colombier 	"ROLB",		LTYPE3,	AROLB,
573e887ea33SDavid du Colombier 	"ROLL",		LTYPE3,	AROLL,
574e887ea33SDavid du Colombier 	"ROLQ",		LTYPE3,	AROLQ,
575e887ea33SDavid du Colombier 	"ROLW",		LTYPE3,	AROLW,
576e887ea33SDavid du Colombier 	"RORB",		LTYPE3,	ARORB,
577e887ea33SDavid du Colombier 	"RORL",		LTYPE3,	ARORL,
578e887ea33SDavid du Colombier 	"RORQ",		LTYPE3,	ARORQ,
579e887ea33SDavid du Colombier 	"RORW",		LTYPE3,	ARORW,
580e887ea33SDavid du Colombier 	"RSM",		LTYPE0,	ARSM,
581e887ea33SDavid du Colombier 	"SAHF",		LTYPE0,	ASAHF,
582e887ea33SDavid du Colombier 	"SALB",		LTYPE3,	ASALB,
583e887ea33SDavid du Colombier 	"SALL",		LTYPE3,	ASALL,
584e887ea33SDavid du Colombier 	"SALQ",		LTYPE3,	ASALQ,
585e887ea33SDavid du Colombier 	"SALW",		LTYPE3,	ASALW,
586e887ea33SDavid du Colombier 	"SARB",		LTYPE3,	ASARB,
587e887ea33SDavid du Colombier 	"SARL",		LTYPE3,	ASARL,
588e887ea33SDavid du Colombier 	"SARQ",		LTYPE3,	ASARQ,
589e887ea33SDavid du Colombier 	"SARW",		LTYPE3,	ASARW,
590e887ea33SDavid du Colombier 	"SBBB",		LTYPE3,	ASBBB,
591e887ea33SDavid du Colombier 	"SBBL",		LTYPE3,	ASBBL,
592e887ea33SDavid du Colombier 	"SBBQ",		LTYPE3,	ASBBQ,
593e887ea33SDavid du Colombier 	"SBBW",		LTYPE3,	ASBBW,
594e887ea33SDavid du Colombier 	"SCASB",	LTYPE0,	ASCASB,
595e887ea33SDavid du Colombier 	"SCASL",	LTYPE0,	ASCASL,
596e887ea33SDavid du Colombier 	"SCASQ",	LTYPE0,	ASCASQ,
597e887ea33SDavid du Colombier 	"SCASW",	LTYPE0,	ASCASW,
598e887ea33SDavid du Colombier 	"SETCC",	LTYPE1,	ASETCC,
599e887ea33SDavid du Colombier 	"SETCS",	LTYPE1,	ASETCS,
600e887ea33SDavid du Colombier 	"SETEQ",	LTYPE1,	ASETEQ,
601e887ea33SDavid du Colombier 	"SETGE",	LTYPE1,	ASETGE,
602e887ea33SDavid du Colombier 	"SETGT",	LTYPE1,	ASETGT,
603e887ea33SDavid du Colombier 	"SETHI",	LTYPE1,	ASETHI,
604e887ea33SDavid du Colombier 	"SETLE",	LTYPE1,	ASETLE,
605e887ea33SDavid du Colombier 	"SETLS",	LTYPE1,	ASETLS,
606e887ea33SDavid du Colombier 	"SETLT",	LTYPE1,	ASETLT,
607e887ea33SDavid du Colombier 	"SETMI",	LTYPE1,	ASETMI,
608e887ea33SDavid du Colombier 	"SETNE",	LTYPE1,	ASETNE,
609e887ea33SDavid du Colombier 	"SETOC",	LTYPE1,	ASETOC,
610e887ea33SDavid du Colombier 	"SETOS",	LTYPE1,	ASETOS,
611e887ea33SDavid du Colombier 	"SETPC",	LTYPE1,	ASETPC,
612e887ea33SDavid du Colombier 	"SETPL",	LTYPE1,	ASETPL,
613e887ea33SDavid du Colombier 	"SETPS",	LTYPE1,	ASETPS,
614e887ea33SDavid du Colombier 	"SFENCE",	LTYPE0,	ASFENCE,
615e887ea33SDavid du Colombier 	"CDQ",		LTYPE0,	ACDQ,
616e887ea33SDavid du Colombier 	"CWD",		LTYPE0,	ACWD,
617e887ea33SDavid du Colombier 	"CQO",		LTYPE0,	ACQO,
618e887ea33SDavid du Colombier 	"SHLB",		LTYPE3,	ASHLB,
619e887ea33SDavid du Colombier 	"SHLL",		LTYPES,	ASHLL,
620e887ea33SDavid du Colombier 	"SHLQ",		LTYPES,	ASHLQ,
621e887ea33SDavid du Colombier 	"SHLW",		LTYPES,	ASHLW,
622e887ea33SDavid du Colombier 	"SHRB",		LTYPE3,	ASHRB,
623e887ea33SDavid du Colombier 	"SHRL",		LTYPES,	ASHRL,
624e887ea33SDavid du Colombier 	"SHRQ",		LTYPES,	ASHRQ,
625e887ea33SDavid du Colombier 	"SHRW",		LTYPES,	ASHRW,
626e887ea33SDavid du Colombier 	"STC",		LTYPE0,	ASTC,
627e887ea33SDavid du Colombier 	"STD",		LTYPE0,	ASTD,
628e887ea33SDavid du Colombier 	"STI",		LTYPE0,	ASTI,
629e887ea33SDavid du Colombier 	"STOSB",	LTYPE0,	ASTOSB,
630e887ea33SDavid du Colombier 	"STOSL",	LTYPE0,	ASTOSL,
631e887ea33SDavid du Colombier 	"STOSQ",	LTYPE0,	ASTOSQ,
632e887ea33SDavid du Colombier 	"STOSW",	LTYPE0,	ASTOSW,
633e887ea33SDavid du Colombier 	"SUBB",		LTYPE3,	ASUBB,
634e887ea33SDavid du Colombier 	"SUBL",		LTYPE3,	ASUBL,
635e887ea33SDavid du Colombier 	"SUBQ",		LTYPE3,	ASUBQ,
636e887ea33SDavid du Colombier 	"SUBW",		LTYPE3,	ASUBW,
637e887ea33SDavid du Colombier 	"SYSCALL",	LTYPE0,	ASYSCALL,
638e887ea33SDavid du Colombier 	"SYSRET",	LTYPE0,	ASYSRET,
639e887ea33SDavid du Colombier 	"SWAPGS",	LTYPE0,	ASWAPGS,
640e887ea33SDavid du Colombier 	"TESTB",	LTYPE3,	ATESTB,
641e887ea33SDavid du Colombier 	"TESTL",	LTYPE3,	ATESTL,
642e887ea33SDavid du Colombier 	"TESTQ",	LTYPE3,	ATESTQ,
643e887ea33SDavid du Colombier 	"TESTW",	LTYPE3,	ATESTW,
644e887ea33SDavid du Colombier 	"TEXT",		LTYPET,	ATEXT,
645e887ea33SDavid du Colombier 	"VERR",		LTYPE2,	AVERR,
646e887ea33SDavid du Colombier 	"VERW",		LTYPE2,	AVERW,
647e887ea33SDavid du Colombier 	"QUAD",		LTYPE2,	AQUAD,
648e887ea33SDavid du Colombier 	"WAIT",		LTYPE0,	AWAIT,
649e887ea33SDavid du Colombier 	"WBINVD",	LTYPE0,	AWBINVD,
650e887ea33SDavid du Colombier 	"WRMSR",	LTYPE0,	AWRMSR,
651e887ea33SDavid du Colombier 	"WORD",		LTYPE2,	AWORD,
652e887ea33SDavid du Colombier 	"XADDB",	LTYPE3,	AXADDB,
653e887ea33SDavid du Colombier 	"XADDL",	LTYPE3,	AXADDL,
654e887ea33SDavid du Colombier 	"XADDQ",	LTYPE3,	AXADDQ,
655e887ea33SDavid du Colombier 	"XADDW",	LTYPE3,	AXADDW,
656e887ea33SDavid du Colombier 	"XCHGB",	LTYPE3,	AXCHGB,
657e887ea33SDavid du Colombier 	"XCHGL",	LTYPE3,	AXCHGL,
658e887ea33SDavid du Colombier 	"XCHGQ",	LTYPE3,	AXCHGQ,
659e887ea33SDavid du Colombier 	"XCHGW",	LTYPE3,	AXCHGW,
660e887ea33SDavid du Colombier 	"XLAT",		LTYPE2,	AXLAT,
661e887ea33SDavid du Colombier 	"XORB",		LTYPE3,	AXORB,
662e887ea33SDavid du Colombier 	"XORL",		LTYPE3,	AXORL,
663e887ea33SDavid du Colombier 	"XORQ",		LTYPE3,	AXORQ,
664e887ea33SDavid du Colombier 	"XORW",		LTYPE3,	AXORW,
665e887ea33SDavid du Colombier 
666e887ea33SDavid du Colombier 	"CMOVLCC",	LTYPE3,	ACMOVLCC,
667e887ea33SDavid du Colombier 	"CMOVLCS",	LTYPE3,	ACMOVLCS,
668e887ea33SDavid du Colombier 	"CMOVLEQ",	LTYPE3,	ACMOVLEQ,
669e887ea33SDavid du Colombier 	"CMOVLGE",	LTYPE3,	ACMOVLGE,
670e887ea33SDavid du Colombier 	"CMOVLGT",	LTYPE3,	ACMOVLGT,
671e887ea33SDavid du Colombier 	"CMOVLHI",	LTYPE3,	ACMOVLHI,
672e887ea33SDavid du Colombier 	"CMOVLLE",	LTYPE3,	ACMOVLLE,
673e887ea33SDavid du Colombier 	"CMOVLLS",	LTYPE3,	ACMOVLLS,
674e887ea33SDavid du Colombier 	"CMOVLLT",	LTYPE3,	ACMOVLLT,
675e887ea33SDavid du Colombier 	"CMOVLMI",	LTYPE3,	ACMOVLMI,
676e887ea33SDavid du Colombier 	"CMOVLNE",	LTYPE3,	ACMOVLNE,
677e887ea33SDavid du Colombier 	"CMOVLOC",	LTYPE3,	ACMOVLOC,
678e887ea33SDavid du Colombier 	"CMOVLOS",	LTYPE3,	ACMOVLOS,
679e887ea33SDavid du Colombier 	"CMOVLPC",	LTYPE3,	ACMOVLPC,
680e887ea33SDavid du Colombier 	"CMOVLPL",	LTYPE3,	ACMOVLPL,
681e887ea33SDavid du Colombier 	"CMOVLPS",	LTYPE3,	ACMOVLPS,
682e887ea33SDavid du Colombier 	"CMOVQCC",	LTYPE3,	ACMOVQCC,
683e887ea33SDavid du Colombier 	"CMOVQCS",	LTYPE3,	ACMOVQCS,
684e887ea33SDavid du Colombier 	"CMOVQEQ",	LTYPE3,	ACMOVQEQ,
685e887ea33SDavid du Colombier 	"CMOVQGE",	LTYPE3,	ACMOVQGE,
686e887ea33SDavid du Colombier 	"CMOVQGT",	LTYPE3,	ACMOVQGT,
687e887ea33SDavid du Colombier 	"CMOVQHI",	LTYPE3,	ACMOVQHI,
688e887ea33SDavid du Colombier 	"CMOVQLE",	LTYPE3,	ACMOVQLE,
689e887ea33SDavid du Colombier 	"CMOVQLS",	LTYPE3,	ACMOVQLS,
690e887ea33SDavid du Colombier 	"CMOVQLT",	LTYPE3,	ACMOVQLT,
691e887ea33SDavid du Colombier 	"CMOVQMI",	LTYPE3,	ACMOVQMI,
692e887ea33SDavid du Colombier 	"CMOVQNE",	LTYPE3,	ACMOVQNE,
693e887ea33SDavid du Colombier 	"CMOVQOC",	LTYPE3,	ACMOVQOC,
694e887ea33SDavid du Colombier 	"CMOVQOS",	LTYPE3,	ACMOVQOS,
695e887ea33SDavid du Colombier 	"CMOVQPC",	LTYPE3,	ACMOVQPC,
696e887ea33SDavid du Colombier 	"CMOVQPL",	LTYPE3,	ACMOVQPL,
697e887ea33SDavid du Colombier 	"CMOVQPS",	LTYPE3,	ACMOVQPS,
698e887ea33SDavid du Colombier 	"CMOVWCC",	LTYPE3,	ACMOVWCC,
699e887ea33SDavid du Colombier 	"CMOVWCS",	LTYPE3,	ACMOVWCS,
700e887ea33SDavid du Colombier 	"CMOVWEQ",	LTYPE3,	ACMOVWEQ,
701e887ea33SDavid du Colombier 	"CMOVWGE",	LTYPE3,	ACMOVWGE,
702e887ea33SDavid du Colombier 	"CMOVWGT",	LTYPE3,	ACMOVWGT,
703e887ea33SDavid du Colombier 	"CMOVWHI",	LTYPE3,	ACMOVWHI,
704e887ea33SDavid du Colombier 	"CMOVWLE",	LTYPE3,	ACMOVWLE,
705e887ea33SDavid du Colombier 	"CMOVWLS",	LTYPE3,	ACMOVWLS,
706e887ea33SDavid du Colombier 	"CMOVWLT",	LTYPE3,	ACMOVWLT,
707e887ea33SDavid du Colombier 	"CMOVWMI",	LTYPE3,	ACMOVWMI,
708e887ea33SDavid du Colombier 	"CMOVWNE",	LTYPE3,	ACMOVWNE,
709e887ea33SDavid du Colombier 	"CMOVWOC",	LTYPE3,	ACMOVWOC,
710e887ea33SDavid du Colombier 	"CMOVWOS",	LTYPE3,	ACMOVWOS,
711e887ea33SDavid du Colombier 	"CMOVWPC",	LTYPE3,	ACMOVWPC,
712e887ea33SDavid du Colombier 	"CMOVWPL",	LTYPE3,	ACMOVWPL,
713e887ea33SDavid du Colombier 	"CMOVWPS",	LTYPE3,	ACMOVWPS,
714e887ea33SDavid du Colombier 
715e887ea33SDavid du Colombier 	"FMOVB",	LTYPE3, AFMOVB,
716e887ea33SDavid du Colombier 	"FMOVBP",	LTYPE3, AFMOVBP,
717e887ea33SDavid du Colombier 	"FMOVD",	LTYPE3, AFMOVD,
718e887ea33SDavid du Colombier 	"FMOVDP",	LTYPE3, AFMOVDP,
719e887ea33SDavid du Colombier 	"FMOVF",	LTYPE3, AFMOVF,
720e887ea33SDavid du Colombier 	"FMOVFP",	LTYPE3, AFMOVFP,
721e887ea33SDavid du Colombier 	"FMOVL",	LTYPE3, AFMOVL,
722e887ea33SDavid du Colombier 	"FMOVLP",	LTYPE3, AFMOVLP,
723e887ea33SDavid du Colombier 	"FMOVV",	LTYPE3, AFMOVV,
724e887ea33SDavid du Colombier 	"FMOVVP",	LTYPE3, AFMOVVP,
725e887ea33SDavid du Colombier 	"FMOVW",	LTYPE3, AFMOVW,
726e887ea33SDavid du Colombier 	"FMOVWP",	LTYPE3, AFMOVWP,
727e887ea33SDavid du Colombier 	"FMOVX",	LTYPE3, AFMOVX,
728e887ea33SDavid du Colombier 	"FMOVXP",	LTYPE3, AFMOVXP,
729e887ea33SDavid du Colombier 	"FCOMB",	LTYPE3, AFCOMB,
730e887ea33SDavid du Colombier 	"FCOMBP",	LTYPE3, AFCOMBP,
731e887ea33SDavid du Colombier 	"FCOMD",	LTYPE3, AFCOMD,
732e887ea33SDavid du Colombier 	"FCOMDP",	LTYPE3, AFCOMDP,
733e887ea33SDavid du Colombier 	"FCOMDPP",	LTYPE3, AFCOMDPP,
734e887ea33SDavid du Colombier 	"FCOMF",	LTYPE3, AFCOMF,
735e887ea33SDavid du Colombier 	"FCOMFP",	LTYPE3, AFCOMFP,
736e887ea33SDavid du Colombier 	"FCOML",	LTYPE3, AFCOML,
737e887ea33SDavid du Colombier 	"FCOMLP",	LTYPE3, AFCOMLP,
738e887ea33SDavid du Colombier 	"FCOMW",	LTYPE3, AFCOMW,
739e887ea33SDavid du Colombier 	"FCOMWP",	LTYPE3, AFCOMWP,
740e887ea33SDavid du Colombier 	"FUCOM",	LTYPE3, AFUCOM,
741e887ea33SDavid du Colombier 	"FUCOMP",	LTYPE3, AFUCOMP,
742e887ea33SDavid du Colombier 	"FUCOMPP",	LTYPE3, AFUCOMPP,
743e887ea33SDavid du Colombier 	"FADDW",	LTYPE3, AFADDW,
744e887ea33SDavid du Colombier 	"FADDL",	LTYPE3, AFADDL,
745e887ea33SDavid du Colombier 	"FADDF",	LTYPE3, AFADDF,
746e887ea33SDavid du Colombier 	"FADDD",	LTYPE3, AFADDD,
747e887ea33SDavid du Colombier 	"FADDDP",	LTYPE3, AFADDDP,
748e887ea33SDavid du Colombier 	"FSUBDP",	LTYPE3, AFSUBDP,
749e887ea33SDavid du Colombier 	"FSUBW",	LTYPE3, AFSUBW,
750e887ea33SDavid du Colombier 	"FSUBL",	LTYPE3, AFSUBL,
751e887ea33SDavid du Colombier 	"FSUBF",	LTYPE3, AFSUBF,
752e887ea33SDavid du Colombier 	"FSUBD",	LTYPE3, AFSUBD,
753e887ea33SDavid du Colombier 	"FSUBRDP",	LTYPE3, AFSUBRDP,
754e887ea33SDavid du Colombier 	"FSUBRW",	LTYPE3, AFSUBRW,
755e887ea33SDavid du Colombier 	"FSUBRL",	LTYPE3, AFSUBRL,
756e887ea33SDavid du Colombier 	"FSUBRF",	LTYPE3, AFSUBRF,
757e887ea33SDavid du Colombier 	"FSUBRD",	LTYPE3, AFSUBRD,
758e887ea33SDavid du Colombier 	"FMULDP",	LTYPE3, AFMULDP,
759e887ea33SDavid du Colombier 	"FMULW",	LTYPE3, AFMULW,
760e887ea33SDavid du Colombier 	"FMULL",	LTYPE3, AFMULL,
761e887ea33SDavid du Colombier 	"FMULF",	LTYPE3, AFMULF,
762e887ea33SDavid du Colombier 	"FMULD",	LTYPE3, AFMULD,
763e887ea33SDavid du Colombier 	"FDIVDP",	LTYPE3, AFDIVDP,
764e887ea33SDavid du Colombier 	"FDIVW",	LTYPE3, AFDIVW,
765e887ea33SDavid du Colombier 	"FDIVL",	LTYPE3, AFDIVL,
766e887ea33SDavid du Colombier 	"FDIVF",	LTYPE3, AFDIVF,
767e887ea33SDavid du Colombier 	"FDIVD",	LTYPE3, AFDIVD,
768e887ea33SDavid du Colombier 	"FDIVRDP",	LTYPE3, AFDIVRDP,
769e887ea33SDavid du Colombier 	"FDIVRW",	LTYPE3, AFDIVRW,
770e887ea33SDavid du Colombier 	"FDIVRL",	LTYPE3, AFDIVRL,
771e887ea33SDavid du Colombier 	"FDIVRF",	LTYPE3, AFDIVRF,
772e887ea33SDavid du Colombier 	"FDIVRD",	LTYPE3, AFDIVRD,
773e887ea33SDavid du Colombier 	"FXCHD",	LTYPE3, AFXCHD,
774e887ea33SDavid du Colombier 	"FFREE",	LTYPE1, AFFREE,
775e887ea33SDavid du Colombier 	"FLDCW",	LTYPE2, AFLDCW,
776e887ea33SDavid du Colombier 	"FLDENV",	LTYPE1, AFLDENV,
777e887ea33SDavid du Colombier 	"FRSTOR",	LTYPE2, AFRSTOR,
778e887ea33SDavid du Colombier 	"FSAVE",	LTYPE1, AFSAVE,
779e887ea33SDavid du Colombier 	"FSTCW",	LTYPE1, AFSTCW,
780e887ea33SDavid du Colombier 	"FSTENV",	LTYPE1, AFSTENV,
781e887ea33SDavid du Colombier 	"FSTSW",	LTYPE1, AFSTSW,
782e887ea33SDavid du Colombier 	"F2XM1",	LTYPE0, AF2XM1,
783e887ea33SDavid du Colombier 	"FABS",		LTYPE0, AFABS,
784e887ea33SDavid du Colombier 	"FCHS",		LTYPE0, AFCHS,
785e887ea33SDavid du Colombier 	"FCLEX",	LTYPE0, AFCLEX,
786e887ea33SDavid du Colombier 	"FCOS",		LTYPE0, AFCOS,
787e887ea33SDavid du Colombier 	"FDECSTP",	LTYPE0, AFDECSTP,
788e887ea33SDavid du Colombier 	"FINCSTP",	LTYPE0, AFINCSTP,
789e887ea33SDavid du Colombier 	"FINIT",	LTYPE0, AFINIT,
790e887ea33SDavid du Colombier 	"FLD1",		LTYPE0, AFLD1,
791e887ea33SDavid du Colombier 	"FLDL2E",	LTYPE0, AFLDL2E,
792e887ea33SDavid du Colombier 	"FLDL2T",	LTYPE0, AFLDL2T,
793e887ea33SDavid du Colombier 	"FLDLG2",	LTYPE0, AFLDLG2,
794e887ea33SDavid du Colombier 	"FLDLN2",	LTYPE0, AFLDLN2,
795e887ea33SDavid du Colombier 	"FLDPI",	LTYPE0, AFLDPI,
796e887ea33SDavid du Colombier 	"FLDZ",		LTYPE0, AFLDZ,
797e887ea33SDavid du Colombier 	"FNOP",		LTYPE0, AFNOP,
798e887ea33SDavid du Colombier 	"FPATAN",	LTYPE0, AFPATAN,
799e887ea33SDavid du Colombier 	"FPREM",	LTYPE0, AFPREM,
800e887ea33SDavid du Colombier 	"FPREM1",	LTYPE0, AFPREM1,
801e887ea33SDavid du Colombier 	"FPTAN",	LTYPE0, AFPTAN,
802e887ea33SDavid du Colombier 	"FRNDINT",	LTYPE0, AFRNDINT,
803e887ea33SDavid du Colombier 	"FSCALE",	LTYPE0, AFSCALE,
804e887ea33SDavid du Colombier 	"FSIN",		LTYPE0, AFSIN,
805e887ea33SDavid du Colombier 	"FSINCOS",	LTYPE0, AFSINCOS,
806e887ea33SDavid du Colombier 	"FSQRT",	LTYPE0, AFSQRT,
807e887ea33SDavid du Colombier 	"FTST",		LTYPE0, AFTST,
808e887ea33SDavid du Colombier 	"FXAM",		LTYPE0, AFXAM,
809e887ea33SDavid du Colombier 	"FXTRACT",	LTYPE0, AFXTRACT,
810e887ea33SDavid du Colombier 	"FYL2X",	LTYPE0, AFYL2X,
811e887ea33SDavid du Colombier 	"FYL2XP1",	LTYPE0, AFYL2XP1,
812e887ea33SDavid du Colombier 
813*40d01547SDavid du Colombier 	"ADDPD",	LTYPEY,	AADDPD,
814*40d01547SDavid du Colombier 	"ADDPS",	LTYPEY,	AADDPS,
815*40d01547SDavid du Colombier 	"ADDSD",	LTYPEY,	AADDSD,
816*40d01547SDavid du Colombier 	"ADDSS",	LTYPEY,	AADDSS,
817*40d01547SDavid du Colombier 	"ANDNPD",	LTYPEY,	AANDNPD,
818*40d01547SDavid du Colombier 	"ANDNPS",	LTYPEY,	AANDNPS,
819*40d01547SDavid du Colombier 	"ANDPD",	LTYPEY,	AANDPD,
820*40d01547SDavid du Colombier 	"ANDPS",	LTYPEY,	AANDPS,
821e887ea33SDavid du Colombier 	"CMPPD",	LTYPEXC,ACMPPD,
822e887ea33SDavid du Colombier 	"CMPPS",	LTYPEXC,ACMPPS,
823e887ea33SDavid du Colombier 	"CMPSD",	LTYPEXC,ACMPSD,
824e887ea33SDavid du Colombier 	"CMPSS",	LTYPEXC,ACMPSS,
825*40d01547SDavid du Colombier 	"COMISD",	LTYPEY,	ACOMISD,
826*40d01547SDavid du Colombier 	"COMISS",	LTYPEY,	ACOMISS,
827*40d01547SDavid du Colombier 	"CVTPL2PD",	LTYPEY,	ACVTPL2PD,
828*40d01547SDavid du Colombier 	"CVTPL2PS",	LTYPEY,	ACVTPL2PS,
829*40d01547SDavid du Colombier 	"CVTPD2PL",	LTYPEY,	ACVTPD2PL,
830*40d01547SDavid du Colombier 	"CVTPD2PS",	LTYPEY,	ACVTPD2PS,
831*40d01547SDavid du Colombier 	"CVTPS2PL",	LTYPEY,	ACVTPS2PL,
832*40d01547SDavid du Colombier 	"PF2IW",	LTYPEY,	APF2IW,
833*40d01547SDavid du Colombier 	"PF2IL",	LTYPEY,	APF2IL,
834*40d01547SDavid du Colombier 	"PF2ID",	LTYPEY,	APF2IL,	/* syn */
835*40d01547SDavid du Colombier 	"PI2FL",	LTYPEY,	API2FL,
836*40d01547SDavid du Colombier 	"PI2FD",	LTYPEY,	API2FL,	/* syn */
837*40d01547SDavid du Colombier 	"PI2FW",	LTYPEY,	API2FW,
838*40d01547SDavid du Colombier 	"CVTPS2PD",	LTYPEY,	ACVTPS2PD,
839*40d01547SDavid du Colombier 	"CVTSD2SL",	LTYPEY,	ACVTSD2SL,
840*40d01547SDavid du Colombier 	"CVTSD2SQ",	LTYPEY,	ACVTSD2SQ,
841*40d01547SDavid du Colombier 	"CVTSD2SS",	LTYPEY,	ACVTSD2SS,
842*40d01547SDavid du Colombier 	"CVTSL2SD",	LTYPEY,	ACVTSL2SD,
843*40d01547SDavid du Colombier 	"CVTSQ2SD",	LTYPEY,	ACVTSQ2SD,
844*40d01547SDavid du Colombier 	"CVTSL2SS",	LTYPEY,	ACVTSL2SS,
845*40d01547SDavid du Colombier 	"CVTSQ2SS",	LTYPEY,	ACVTSQ2SS,
846*40d01547SDavid du Colombier 	"CVTSS2SD",	LTYPEY,	ACVTSS2SD,
847*40d01547SDavid du Colombier 	"CVTSS2SL",	LTYPEY,	ACVTSS2SL,
848*40d01547SDavid du Colombier 	"CVTSS2SQ",	LTYPEY,	ACVTSS2SQ,
849*40d01547SDavid du Colombier 	"CVTTPD2PL",	LTYPEY,	ACVTTPD2PL,
850*40d01547SDavid du Colombier 	"CVTTPS2PL",	LTYPEY,	ACVTTPS2PL,
851*40d01547SDavid du Colombier 	"CVTTSD2SL",	LTYPEY,	ACVTTSD2SL,
852*40d01547SDavid du Colombier 	"CVTTSD2SQ",	LTYPEY,	ACVTTSD2SQ,
853*40d01547SDavid du Colombier 	"CVTTSS2SL",	LTYPEY,	ACVTTSS2SL,
854*40d01547SDavid du Colombier 	"CVTTSS2SQ",	LTYPEY,	ACVTTSS2SQ,
855*40d01547SDavid du Colombier 	"DIVPD",	LTYPEY,	ADIVPD,
856*40d01547SDavid du Colombier 	"DIVPS",	LTYPEY,	ADIVPS,
857*40d01547SDavid du Colombier 	"DIVSD",	LTYPEY,	ADIVSD,
858*40d01547SDavid du Colombier 	"DIVSS",	LTYPEY,	ADIVSS,
859e887ea33SDavid du Colombier 	"FXRSTOR",	LTYPE2,	AFXRSTOR,
860e887ea33SDavid du Colombier 	"FXRSTOR64",	LTYPE2,	AFXRSTOR64,
861e887ea33SDavid du Colombier 	"FXSAVE",	LTYPE1,	AFXSAVE,
862e887ea33SDavid du Colombier 	"FXSAVE64",	LTYPE1,	AFXSAVE64,
863e887ea33SDavid du Colombier 	"LDMXCSR",	LTYPE2,	ALDMXCSR,
864*40d01547SDavid du Colombier 	"MASKMOVDQU",	LTYPE3,	AMASKMOVDQU,
865e887ea33SDavid du Colombier 	"MASKMOVQ",	LTYPE3,	AMASKMOVQ,
866*40d01547SDavid du Colombier 	"MAXPD",	LTYPEY,	AMAXPD,
867*40d01547SDavid du Colombier 	"MAXPS",	LTYPEY,	AMAXPS,
868*40d01547SDavid du Colombier 	"MAXSD",	LTYPEY,	AMAXSD,
869*40d01547SDavid du Colombier 	"MAXSS",	LTYPEY,	AMAXSS,
870*40d01547SDavid du Colombier 	"MINPD",	LTYPEY,	AMINPD,
871*40d01547SDavid du Colombier 	"MINPS",	LTYPEY,	AMINPS,
872*40d01547SDavid du Colombier 	"MINSD",	LTYPEY,	AMINSD,
873*40d01547SDavid du Colombier 	"MINSS",	LTYPEY,	AMINSS,
874e887ea33SDavid du Colombier 	"MOVAPD",	LTYPE3,	AMOVAPD,
875e887ea33SDavid du Colombier 	"MOVAPS",	LTYPE3,	AMOVAPS,
876e887ea33SDavid du Colombier 	"MOVD",		LTYPE3,	AMOVQ,	/* syn */
877e887ea33SDavid du Colombier 	"MOVDQ2Q",	LTYPE3,	AMOVQ,	/* syn */
878e887ea33SDavid du Colombier 	"MOVO",		LTYPE3,	AMOVO,
879*40d01547SDavid du Colombier 	"MOVOA",	LTYPE3,	AMOVDQA,	/* syn */
880*40d01547SDavid du Colombier 	"MOVDQA",	LTYPE3,	AMOVDQA,
881*40d01547SDavid du Colombier 	"MOVDQU",	LTYPE3,	AMOVDQU,
882*40d01547SDavid du Colombier 	"MOVQQA",	LTYPE3, AMOVQQA,
883*40d01547SDavid du Colombier 	"MOVQQU",	LTYPE3,	AMOVQQU,
884e887ea33SDavid du Colombier 	"MOVHLPS",	LTYPE3,	AMOVHLPS,
885e887ea33SDavid du Colombier 	"MOVHPD",	LTYPE3,	AMOVHPD,
886e887ea33SDavid du Colombier 	"MOVHPS",	LTYPE3,	AMOVHPS,
887e887ea33SDavid du Colombier 	"MOVLHPS",	LTYPE3,	AMOVLHPS,
888e887ea33SDavid du Colombier 	"MOVLPD",	LTYPE3,	AMOVLPD,
889e887ea33SDavid du Colombier 	"MOVLPS",	LTYPE3,	AMOVLPS,
890e887ea33SDavid du Colombier 	"MOVMSKPD",	LTYPE3,	AMOVMSKPD,
891e887ea33SDavid du Colombier 	"MOVMSKPS",	LTYPE3,	AMOVMSKPS,
892*40d01547SDavid du Colombier 	"MOVNTDQ",	LTYPE3,	AMOVNTDQ,
893e887ea33SDavid du Colombier 	"MOVNTPD",	LTYPE3,	AMOVNTPD,
894e887ea33SDavid du Colombier 	"MOVNTPS",	LTYPE3,	AMOVNTPS,
895e887ea33SDavid du Colombier 	"MOVNTQ",	LTYPE3,	AMOVNTQ,
896e887ea33SDavid du Colombier 	"MOVQOZX",	LTYPE3,	AMOVQOZX,
897e887ea33SDavid du Colombier 	"MOVSD",	LTYPE3,	AMOVSD,
898e887ea33SDavid du Colombier 	"MOVSS",	LTYPE3,	AMOVSS,
899e887ea33SDavid du Colombier 	"MOVUPD",	LTYPE3,	AMOVUPD,
900e887ea33SDavid du Colombier 	"MOVUPS",	LTYPE3,	AMOVUPS,
901*40d01547SDavid du Colombier 	"MULPD",	LTYPEY,	AMULPD,
902*40d01547SDavid du Colombier 	"MULPS",	LTYPEY,	AMULPS,
903*40d01547SDavid du Colombier 	"MULSD",	LTYPEY,	AMULSD,
904*40d01547SDavid du Colombier 	"MULSS",	LTYPEY,	AMULSS,
905*40d01547SDavid du Colombier 	"ORPD",		LTYPEY,	AORPD,
906*40d01547SDavid du Colombier 	"ORPS",		LTYPEY,	AORPS,
907*40d01547SDavid du Colombier 	"PACKSSLW",	LTYPEY,	APACKSSLW,
908*40d01547SDavid du Colombier 	"PACKSSWB",	LTYPEY,	APACKSSWB,
909*40d01547SDavid du Colombier 	"PACKUSWB",	LTYPEY,	APACKUSWB,
910*40d01547SDavid du Colombier 	"PADDB",	LTYPEY,	APADDB,
911*40d01547SDavid du Colombier 	"PADDL",	LTYPEY,	APADDL,
912*40d01547SDavid du Colombier 	"PADDQ",	LTYPEY,	APADDQ,
913*40d01547SDavid du Colombier 	"PADDSB",	LTYPEY,	APADDSB,
914*40d01547SDavid du Colombier 	"PADDSW",	LTYPEY,	APADDSW,
915*40d01547SDavid du Colombier 	"PADDUSB",	LTYPEY,	APADDUSB,
916*40d01547SDavid du Colombier 	"PADDUSW",	LTYPEY,	APADDUSW,
917*40d01547SDavid du Colombier 	"PADDW",	LTYPEY,	APADDW,
918*40d01547SDavid du Colombier 	"PAND",		LTYPEY, APAND,
919*40d01547SDavid du Colombier 	"PANDB",	LTYPEY,	APANDB,
920*40d01547SDavid du Colombier 	"PANDL",	LTYPEY,	APANDL,
921*40d01547SDavid du Colombier 	"PANDSB",	LTYPEY,	APANDSB,
922*40d01547SDavid du Colombier 	"PANDSW",	LTYPEY,	APANDSW,
923*40d01547SDavid du Colombier 	"PANDUSB",	LTYPEY,	APANDUSB,
924*40d01547SDavid du Colombier 	"PANDUSW",	LTYPEY,	APANDUSW,
925*40d01547SDavid du Colombier 	"PANDW",	LTYPEY,	APANDW,
926*40d01547SDavid du Colombier 	"PANDN",	LTYPEY, APANDN,
927*40d01547SDavid du Colombier 	"PAVGB",	LTYPEY,	APAVGB,
928*40d01547SDavid du Colombier 	"PAVGW",	LTYPEY,	APAVGW,
929*40d01547SDavid du Colombier 	"PCMPEQB",	LTYPEY,	APCMPEQB,
930*40d01547SDavid du Colombier 	"PCMPEQL",	LTYPEY,	APCMPEQL,
931*40d01547SDavid du Colombier 	"PCMPEQW",	LTYPEY,	APCMPEQW,
932*40d01547SDavid du Colombier 	"PCMPGTB",	LTYPEY,	APCMPGTB,
933*40d01547SDavid du Colombier 	"PCMPGTL",	LTYPEY,	APCMPGTL,
934*40d01547SDavid du Colombier 	"PCMPGTW",	LTYPEY,	APCMPGTW,
935e887ea33SDavid du Colombier 	"PEXTRW",	LTYPEX,	APEXTRW,
936e887ea33SDavid du Colombier 	"PINSRW",	LTYPEX,	APINSRW,
937*40d01547SDavid du Colombier 	"PMADDWL",	LTYPEY,	APMADDWL,
938*40d01547SDavid du Colombier 	"PMAXSW",	LTYPEY,	APMAXSW,
939*40d01547SDavid du Colombier 	"PMAXUB",	LTYPEY,	APMAXUB,
940*40d01547SDavid du Colombier 	"PMINSW",	LTYPEY,	APMINSW,
941*40d01547SDavid du Colombier 	"PMINUB",	LTYPEY,	APMINUB,
942e887ea33SDavid du Colombier 	"PMOVMSKB",	LTYPE3,	APMOVMSKB,
943*40d01547SDavid du Colombier 	"PMULHRW",	LTYPEY,	APMULHRW,
944*40d01547SDavid du Colombier 	"PMULHUW",	LTYPEY,	APMULHUW,
945*40d01547SDavid du Colombier 	"PMULHW",	LTYPEY,	APMULHW,
946*40d01547SDavid du Colombier 	"PMULLW",	LTYPEY,	APMULLW,
947*40d01547SDavid du Colombier 	"PMULULQ",	LTYPEY,	APMULULQ,
948*40d01547SDavid du Colombier 	"POR",		LTYPEY,	APOR,
949*40d01547SDavid du Colombier 	"PSADBW",	LTYPEY,	APSADBW,
950e887ea33SDavid du Colombier 	"PSHUFHW",	LTYPEX,	APSHUFHW,
951e887ea33SDavid du Colombier 	"PSHUFL",	LTYPEX,	APSHUFL,
952e887ea33SDavid du Colombier 	"PSHUFLW",	LTYPEX,	APSHUFLW,
953e887ea33SDavid du Colombier 	"PSHUFW",	LTYPEX, APSHUFW,
954*40d01547SDavid du Colombier 	"PSLLDQ",	LTYPEY,	APSLLDQ,
955*40d01547SDavid du Colombier 	"PSLLL",	LTYPEY,	APSLLL,
956*40d01547SDavid du Colombier 	"PSLLQ",	LTYPEY,	APSLLQ,
957*40d01547SDavid du Colombier 	"PSLLW",	LTYPEY,	APSLLW,
958*40d01547SDavid du Colombier 	"PSRAL",	LTYPEY,	APSRAL,
959*40d01547SDavid du Colombier 	"PSRAW",	LTYPEY,	APSRAW,
960*40d01547SDavid du Colombier 	"PSRLDQ",	LTYPEY,	APSRLDQ,
961*40d01547SDavid du Colombier 	"PSRLL",	LTYPEY,	APSRLL,
962*40d01547SDavid du Colombier 	"PSRLQ",	LTYPEY,	APSRLQ,
963*40d01547SDavid du Colombier 	"PSRLW",	LTYPEY,	APSRLW,
964*40d01547SDavid du Colombier 	"PSUBB",	LTYPEY,	APSUBB,
965*40d01547SDavid du Colombier 	"PSUBL",	LTYPEY,	APSUBL,
966*40d01547SDavid du Colombier 	"PSUBQ",	LTYPEY,	APSUBQ,
967*40d01547SDavid du Colombier 	"PSUBSB",	LTYPEY,	APSUBSB,
968*40d01547SDavid du Colombier 	"PSUBSW",	LTYPEY,	APSUBSW,
969*40d01547SDavid du Colombier 	"PSUBUSB",	LTYPEY,	APSUBUSB,
970*40d01547SDavid du Colombier 	"PSUBUSW",	LTYPEY,	APSUBUSW,
971*40d01547SDavid du Colombier 	"PSUBW",	LTYPEY,	APSUBW,
972*40d01547SDavid du Colombier 	"PUNPCKHBW",	LTYPEY,	APUNPCKHBW,
973*40d01547SDavid du Colombier 	"PUNPCKHLQ",	LTYPEY,	APUNPCKHLQ,
974*40d01547SDavid du Colombier 	"PUNPCKHQDQ",	LTYPEY,	APUNPCKHQDQ,
975*40d01547SDavid du Colombier 	"PUNPCKHWL",	LTYPEY,	APUNPCKHWL,
976*40d01547SDavid du Colombier 	"PUNPCKLBW",	LTYPEY,	APUNPCKLBW,
977*40d01547SDavid du Colombier 	"PUNPCKLLQ",	LTYPEY,	APUNPCKLLQ,
978*40d01547SDavid du Colombier 	"PUNPCKLQDQ",	LTYPEY,	APUNPCKLQDQ,
979*40d01547SDavid du Colombier 	"PUNPCKLWL",	LTYPEY,	APUNPCKLWL,
980*40d01547SDavid du Colombier 	"PXOR",		LTYPEY,	APXOR,
981*40d01547SDavid du Colombier 	"RCPPS",	LTYPEY,	ARCPPS,
982*40d01547SDavid du Colombier 	"RCPSS",	LTYPEY,	ARCPSS,
983*40d01547SDavid du Colombier 	"RSQRTPS",	LTYPEY,	ARSQRTPS,
984*40d01547SDavid du Colombier 	"RSQRTSS",	LTYPEY,	ARSQRTSS,
985e887ea33SDavid du Colombier 	"SHUFPD",	LTYPEX,	ASHUFPD,
986e887ea33SDavid du Colombier 	"SHUFPS",	LTYPEX,	ASHUFPS,
987*40d01547SDavid du Colombier 	"SQRTPD",	LTYPEY,	ASQRTPD,
988*40d01547SDavid du Colombier 	"SQRTPS",	LTYPEY,	ASQRTPS,
989*40d01547SDavid du Colombier 	"SQRTSD",	LTYPEY,	ASQRTSD,
990*40d01547SDavid du Colombier 	"SQRTSS",	LTYPEY,	ASQRTSS,
991e887ea33SDavid du Colombier 	"STMXCSR",	LTYPE1,	ASTMXCSR,
992*40d01547SDavid du Colombier 	"SUBPD",	LTYPEY,	ASUBPD,
993*40d01547SDavid du Colombier 	"SUBPS",	LTYPEY,	ASUBPS,
994*40d01547SDavid du Colombier 	"SUBSD",	LTYPEY,	ASUBSD,
995*40d01547SDavid du Colombier 	"SUBSS",	LTYPEY,	ASUBSS,
996*40d01547SDavid du Colombier 	"UCOMISD",	LTYPEY,	AUCOMISD,
997*40d01547SDavid du Colombier 	"UCOMISS",	LTYPEY,	AUCOMISS,
998*40d01547SDavid du Colombier 	"UNPCKHPD",	LTYPEY,	AUNPCKHPD,
999*40d01547SDavid du Colombier 	"UNPCKHPS",	LTYPEY,	AUNPCKHPS,
1000*40d01547SDavid du Colombier 	"UNPCKLPD",	LTYPEY,	AUNPCKLPD,
1001*40d01547SDavid du Colombier 	"UNPCKLPS",	LTYPEY,	AUNPCKLPS,
1002*40d01547SDavid du Colombier 	"XORPD",	LTYPEY,	AXORPD,
1003*40d01547SDavid du Colombier 	"XORPS",	LTYPEY,	AXORPS,
1004*40d01547SDavid du Colombier 	"XSAVE",	LTYPE1,	AXSAVE,
1005*40d01547SDavid du Colombier 	"XSAVEOPT",	LTYPE1,	AXSAVEOPT,
1006*40d01547SDavid du Colombier 	"XRSTOR",	LTYPE2,	AXRSTOR,
1007e887ea33SDavid du Colombier 
1008*40d01547SDavid du Colombier 	/* sse/vex */
1009*40d01547SDavid du Colombier 	"AESDEC",	LTYPEY,	AAESDEC,
1010*40d01547SDavid du Colombier 	"AESDECLAST",	LTYPEY,	AAESDECLAST,
1011*40d01547SDavid du Colombier 	"AESENC",	LTYPEY,	AAESENC,
1012*40d01547SDavid du Colombier 	"AESENCLAST",	LTYPEY,	AAESENCLAST,
1013*40d01547SDavid du Colombier 	"AESIMC",	LTYPEY,	AAESIMC,
1014*40d01547SDavid du Colombier 	"AESKEYGENASSIST",	LTYPEY,	AAESKEYGENASSIST,
1015*40d01547SDavid du Colombier 	"BLENDPD",	LTYPEY,	ABLENDPD,
1016*40d01547SDavid du Colombier 	"BLENDPS",	LTYPEY,	ABLENDPS,
1017*40d01547SDavid du Colombier 	"BLENDVPD",	LTYPEY,	ABLENDVPD,
1018*40d01547SDavid du Colombier 	"BLENDVPS",	LTYPEY,	ABLENDVPS,
1019*40d01547SDavid du Colombier 	"CRC32B",	LTYPE3,	ACRC32B,
1020*40d01547SDavid du Colombier 	"CRC32L",	LTYPE3,	ACRC32L,
1021*40d01547SDavid du Colombier 	"CRC32Q",	LTYPE3,	ACRC32Q,
1022*40d01547SDavid du Colombier 	"CRC32W",	LTYPE3,	ACRC32W,
1023*40d01547SDavid du Colombier 	"DPPD",	LTYPEY,	ADPPD,
1024*40d01547SDavid du Colombier 	"DPPS",	LTYPEY,	ADPPS,
1025*40d01547SDavid du Colombier 	"EXTRACTPS",	LTYPEY,	AEXTRACTPS,
1026*40d01547SDavid du Colombier 	"INSERTPS",	LTYPEY,	AINSERTPS,
1027*40d01547SDavid du Colombier 	"MOVNTDQA",	LTYPEY,	AMOVNTDQA,
1028*40d01547SDavid du Colombier 	"MPSADBW",	LTYPEY,	AMPSADBW,
1029*40d01547SDavid du Colombier 	"PABSB",	LTYPEY,	APABSB,
1030*40d01547SDavid du Colombier 	"PABSL",	LTYPEY,	APABSL,
1031*40d01547SDavid du Colombier 	"PABSD",	LTYPEY,	APABSL,	/* syn */
1032*40d01547SDavid du Colombier 	"PABSW",	LTYPEY,	APABSW,
1033*40d01547SDavid du Colombier 	"PACKUSDW",	LTYPEY,	APACKUSDW,
1034*40d01547SDavid du Colombier 	"PALIGNR",	LTYPEX,	APALIGNR,
1035*40d01547SDavid du Colombier 	"PBLENDVB",	LTYPEY,	APBLENDVB,
1036*40d01547SDavid du Colombier 	"PBLENDW",	LTYPEY,	APBLENDW,
1037*40d01547SDavid du Colombier 	"PCLMULHQHQDQ",	LTYPEY,	APCLMULHQHQDQ,
1038*40d01547SDavid du Colombier 	"PCLMULHQLQDQ",	LTYPEY,	APCLMULHQLQDQ,
1039*40d01547SDavid du Colombier 	"PCLMULLQHQDQ",	LTYPEY,	APCLMULLQHQDQ,
1040*40d01547SDavid du Colombier 	"PCLMULLQLQDQ",	LTYPEY,	APCLMULLQLQDQ,
1041*40d01547SDavid du Colombier 	"PCLMULQDQ",	LTYPEY,	APCLMULQDQ,
1042*40d01547SDavid du Colombier 	"PCMPEQQ",	LTYPEY,	APCMPEQQ,
1043*40d01547SDavid du Colombier 	"PCMPESTRI",	LTYPEY,	APCMPESTRI,
1044*40d01547SDavid du Colombier 	"PCMPESTRM",	LTYPEY,	APCMPESTRM,
1045*40d01547SDavid du Colombier 	"PCMPGTQ",	LTYPEY,	APCMPGTQ,
1046*40d01547SDavid du Colombier 	"PCMPISTRI",	LTYPEY,	APCMPISTRI,
1047*40d01547SDavid du Colombier 	"PCMPISTRM",	LTYPEY,	APCMPISTRM,
1048*40d01547SDavid du Colombier 	"PEXTRB",	LTYPEY,	APEXTRB,
1049*40d01547SDavid du Colombier 	"PEXTRL",	LTYPEY,	APEXTRL,
1050*40d01547SDavid du Colombier 	"PHADDL",	LTYPEY,	APHADDL,
1051*40d01547SDavid du Colombier 	"PHADDSW",	LTYPEY,	APHADDSW,
1052*40d01547SDavid du Colombier 	"PHADDW",	LTYPEY,	APHADDW,
1053*40d01547SDavid du Colombier 	"PHMINPOSUW",	LTYPEY,	APHMINPOSUW,
1054*40d01547SDavid du Colombier 	"PHSUBL",	LTYPEY,	APHSUBL,
1055*40d01547SDavid du Colombier 	"PHSUBSW",	LTYPEY,	APHSUBSW,
1056*40d01547SDavid du Colombier 	"PHSUBW",	LTYPEY,	APHSUBW,
1057*40d01547SDavid du Colombier 	"PINSRB",	LTYPEY,	APINSRB,
1058*40d01547SDavid du Colombier 	"PINSRL",	LTYPEY,	APINSRL,
1059*40d01547SDavid du Colombier 	"PMADDUBSW",	LTYPEY,	APMADDUBSW,
1060*40d01547SDavid du Colombier 	"PMAXSB",	LTYPEY,	APMAXSB,
1061*40d01547SDavid du Colombier 	"PMAXSL",	LTYPEY,	APMAXSL,
1062*40d01547SDavid du Colombier 	"PMAXUL",	LTYPEY,	APMAXUL,
1063*40d01547SDavid du Colombier 	"PMAXUW",	LTYPEY,	APMAXUW,
1064*40d01547SDavid du Colombier 	"PMINSB",	LTYPEY,	APMINSB,
1065*40d01547SDavid du Colombier 	"PMINSL",	LTYPEY,	APMINSL,
1066*40d01547SDavid du Colombier 	"PMINUL",	LTYPEY,	APMINUL,
1067*40d01547SDavid du Colombier 	"PMINUW",	LTYPEY,	APMINUW,
1068*40d01547SDavid du Colombier 	"PMOVSXBL",	LTYPEY,	APMOVSXBL,
1069*40d01547SDavid du Colombier 	"PMOVSXBQ",	LTYPEY,	APMOVSXBQ,
1070*40d01547SDavid du Colombier 	"PMOVSXBW",	LTYPEY,	APMOVSXBW,
1071*40d01547SDavid du Colombier 	"PMOVSXLQ",	LTYPEY,	APMOVSXLQ,
1072*40d01547SDavid du Colombier 	"PMOVSXWL",	LTYPEY,	APMOVSXWL,
1073*40d01547SDavid du Colombier 	"PMOVSXWQ",	LTYPEY,	APMOVSXWQ,
1074*40d01547SDavid du Colombier 	"PMOVZXBL",	LTYPEY,	APMOVZXBL,
1075*40d01547SDavid du Colombier 	"PMOVZXBQ",	LTYPEY,	APMOVZXBQ,
1076*40d01547SDavid du Colombier 	"PMOVZXBW",	LTYPEY,	APMOVZXBW,
1077*40d01547SDavid du Colombier 	"PMOVZXLQ",	LTYPEY,	APMOVZXLQ,
1078*40d01547SDavid du Colombier 	"PMOVZXWL",	LTYPEY,	APMOVZXWL,
1079*40d01547SDavid du Colombier 	"PMOVZXWQ",	LTYPEY,	APMOVZXWQ,
1080*40d01547SDavid du Colombier 	"PMULHRSW",	LTYPEY,	APMULHRSW,
1081*40d01547SDavid du Colombier 	"PMULLL",	LTYPEY,	APMULLL,
1082*40d01547SDavid du Colombier 	"PMULLQ",	LTYPEY,	APMULLQ,
1083*40d01547SDavid du Colombier 	"PSHUFB",	LTYPEY,	APSHUFB,
1084*40d01547SDavid du Colombier 	"PSIGNB",	LTYPEY,	APSIGNB,
1085*40d01547SDavid du Colombier 	"PSIGNL",	LTYPEY,	APSIGNL,
1086*40d01547SDavid du Colombier 	"PSIGNW",	LTYPEY,	APSIGNW,
1087*40d01547SDavid du Colombier 	"PTEST",	LTYPEY,	APTEST,
1088*40d01547SDavid du Colombier 	"ROUNDPD",	LTYPEY,	AROUNDPD,
1089*40d01547SDavid du Colombier 	"ROUNDPS",	LTYPEY,	AROUNDPS,
1090*40d01547SDavid du Colombier 	"ROUNDSD",	LTYPEY,	AROUNDSD,
1091*40d01547SDavid du Colombier 	"ROUNDSS",	LTYPEY,	AROUNDSS,
1092*40d01547SDavid du Colombier 
1093*40d01547SDavid du Colombier 	/* vex only */
1094*40d01547SDavid du Colombier 	"VBROADCASTF128",	LTYPEY,	AVBROADCASTF128,
1095*40d01547SDavid du Colombier 	"VBROADCASTSL",	LTYPEY,	AVBROADCASTSL,
1096*40d01547SDavid du Colombier 	"VBROADCASTSS",	LTYPEY,	AVBROADCASTSS,
1097*40d01547SDavid du Colombier 	"VMASKMOVPD",	LTYPEY,	AVMASKMOVPD,
1098*40d01547SDavid du Colombier 	"VMASKMOVPS",	LTYPEY,	AVMASKMOVPS,
1099*40d01547SDavid du Colombier 	"VPERMILPD",	LTYPEY,	AVPERMILPD,
1100*40d01547SDavid du Colombier 	"VPERMILPS",	LTYPEY,	AVPERMILPS,
1101*40d01547SDavid du Colombier 	"VTESTPD",	LTYPEY,	AVTESTPD,
1102*40d01547SDavid du Colombier 	"VTESTPS",	LTYPEY,	AVTESTPS,
1103*40d01547SDavid du Colombier 
1104*40d01547SDavid du Colombier 	/* V* synonyms */
1105*40d01547SDavid du Colombier 	"VADDPD",	LTYPEY,	AADDPD,
1106*40d01547SDavid du Colombier 	"VADDPS",	LTYPEY,	AADDPS,
1107*40d01547SDavid du Colombier 	"VADDSD",	LTYPEY,	AADDSD,
1108*40d01547SDavid du Colombier 	"VADDSS",	LTYPEY,	AADDSS,
1109*40d01547SDavid du Colombier 	"VANDNPD",	LTYPEY,	AANDNPD,
1110*40d01547SDavid du Colombier 	"VANDNPS",	LTYPEY,	AANDNPS,
1111*40d01547SDavid du Colombier 	"VANDPD",	LTYPEY,	AANDPD,
1112*40d01547SDavid du Colombier 	"VANDPS",	LTYPEY,	AANDPS,
1113*40d01547SDavid du Colombier 	"VCMPPD",	LTYPEXC,ACMPPD,
1114*40d01547SDavid du Colombier 	"VCMPPS",	LTYPEXC,ACMPPS,
1115*40d01547SDavid du Colombier 	"VCMPSD",	LTYPEXC,ACMPSD,
1116*40d01547SDavid du Colombier 	"VCMPSS",	LTYPEXC,ACMPSS,
1117*40d01547SDavid du Colombier 	"VCOMISD",	LTYPEY,	ACOMISD,
1118*40d01547SDavid du Colombier 	"VCOMISS",	LTYPEY,	ACOMISS,
1119*40d01547SDavid du Colombier 	"VCVTPL2PD",	LTYPEY,	ACVTPL2PD,
1120*40d01547SDavid du Colombier 	"VCVTPL2PS",	LTYPEY,	ACVTPL2PS,
1121*40d01547SDavid du Colombier 	"VCVTPD2PL",	LTYPEY,	ACVTPD2PL,
1122*40d01547SDavid du Colombier 	"VCVTPD2PS",	LTYPEY,	ACVTPD2PS,
1123*40d01547SDavid du Colombier 	"VCVTPS2PL",	LTYPEY,	ACVTPS2PL,
1124*40d01547SDavid du Colombier 	"VCVTPS2PD",	LTYPEY,	ACVTPS2PD,
1125*40d01547SDavid du Colombier 	"VCVTSD2SL",	LTYPEY,	ACVTSD2SL,
1126*40d01547SDavid du Colombier 	"VCVTSD2SQ",	LTYPEY,	ACVTSD2SQ,
1127*40d01547SDavid du Colombier 	"VCVTSD2SS",	LTYPEY,	ACVTSD2SS,
1128*40d01547SDavid du Colombier 	"VCVTSL2SD",	LTYPEY,	ACVTSL2SD,
1129*40d01547SDavid du Colombier 	"VCVTSQ2SD",	LTYPEY,	ACVTSQ2SD,
1130*40d01547SDavid du Colombier 	"VCVTSL2SS",	LTYPEY,	ACVTSL2SS,
1131*40d01547SDavid du Colombier 	"VCVTSQ2SS",	LTYPEY,	ACVTSQ2SS,
1132*40d01547SDavid du Colombier 	"VCVTSS2SD",	LTYPEY,	ACVTSS2SD,
1133*40d01547SDavid du Colombier 	"VCVTSS2SL",	LTYPEY,	ACVTSS2SL,
1134*40d01547SDavid du Colombier 	"VCVTSS2SQ",	LTYPEY,	ACVTSS2SQ,
1135*40d01547SDavid du Colombier 	"VCVTTPD2PL",	LTYPEY,	ACVTTPD2PL,
1136*40d01547SDavid du Colombier 	"VCVTTPS2PL",	LTYPEY,	ACVTTPS2PL,
1137*40d01547SDavid du Colombier 	"VCVTTSD2SL",	LTYPEY,	ACVTTSD2SL,
1138*40d01547SDavid du Colombier 	"VCVTTSS2SL",	LTYPEY,	ACVTTSS2SL,
1139*40d01547SDavid du Colombier 	"VDIVPD",	LTYPEY,	ADIVPD,
1140*40d01547SDavid du Colombier 	"VDIVPS",	LTYPEY,	ADIVPS,
1141*40d01547SDavid du Colombier 	"VDIVSD",	LTYPEY,	ADIVSD,
1142*40d01547SDavid du Colombier 	"VDIVSS",	LTYPEY,	ADIVSS,
1143*40d01547SDavid du Colombier 	"VLDMXCSR",	LTYPE2,	ALDMXCSR,
1144*40d01547SDavid du Colombier 	"VMASKMOVDQU",	LTYPE3,	AMASKMOVDQU,
1145*40d01547SDavid du Colombier 	"VMASKMOVQ",	LTYPE3,	AMASKMOVQ,
1146*40d01547SDavid du Colombier 	"VMAXPD",	LTYPEY,	AMAXPD,
1147*40d01547SDavid du Colombier 	"VMAXPS",	LTYPEY,	AMAXPS,
1148*40d01547SDavid du Colombier 	"VMAXSD",	LTYPEY,	AMAXSD,
1149*40d01547SDavid du Colombier 	"VMAXSS",	LTYPEY,	AMAXSS,
1150*40d01547SDavid du Colombier 	"VMINPD",	LTYPEY,	AMINPD,
1151*40d01547SDavid du Colombier 	"VMINPS",	LTYPEY,	AMINPS,
1152*40d01547SDavid du Colombier 	"VMINSD",	LTYPEY,	AMINSD,
1153*40d01547SDavid du Colombier 	"VMINSS",	LTYPEY,	AMINSS,
1154*40d01547SDavid du Colombier 	"VMOVAPD",	LTYPE3,	AMOVAPD,
1155*40d01547SDavid du Colombier 	"VMOVAPS",	LTYPE3,	AMOVAPS,
1156*40d01547SDavid du Colombier 	"VMOVD",		LTYPE3,	AMOVL,	/* syn */
1157*40d01547SDavid du Colombier 	"VMOVDQA",	LTYPE3,	AMOVDQA,
1158*40d01547SDavid du Colombier 	"VMOVDQU",	LTYPE3,	AMOVDQU,
1159*40d01547SDavid du Colombier 	"VMOVQ",		LTYPE3,	AMOVQ,
1160*40d01547SDavid du Colombier 	"VMOVQQA",	LTYPE3, AMOVQQA,
1161*40d01547SDavid du Colombier 	"VMOVQQU",	LTYPE3,	AMOVQQU,
1162*40d01547SDavid du Colombier 	"VMOVHLPS",	LTYPE3,	AMOVHLPS,
1163*40d01547SDavid du Colombier 	"VMOVHPD",	LTYPE3,	AMOVHPD,
1164*40d01547SDavid du Colombier 	"VMOVHPS",	LTYPE3,	AMOVHPS,
1165*40d01547SDavid du Colombier 	"VMOVLHPS",	LTYPE3,	AMOVLHPS,
1166*40d01547SDavid du Colombier 	"VMOVLPD",	LTYPE3,	AMOVLPD,
1167*40d01547SDavid du Colombier 	"VMOVLPS",	LTYPE3,	AMOVLPS,
1168*40d01547SDavid du Colombier 	"VMOVMSKPD",	LTYPE3,	AMOVMSKPD,
1169*40d01547SDavid du Colombier 	"VMOVMSKPS",	LTYPE3,	AMOVMSKPS,
1170*40d01547SDavid du Colombier 	"VMOVNTDQ",	LTYPE3,	AMOVNTDQ,
1171*40d01547SDavid du Colombier 	"VMOVNTPD",	LTYPE3,	AMOVNTPD,
1172*40d01547SDavid du Colombier 	"VMOVNTPS",	LTYPE3,	AMOVNTPS,
1173*40d01547SDavid du Colombier 	"VMOVNTQ",	LTYPE3,	AMOVNTQ,
1174*40d01547SDavid du Colombier 	"VMOVSD",	LTYPE3,	AMOVSD,
1175*40d01547SDavid du Colombier 	"VMOVSS",	LTYPE3,	AMOVSS,
1176*40d01547SDavid du Colombier 	"VMOVUPD",	LTYPE3,	AMOVUPD,
1177*40d01547SDavid du Colombier 	"VMOVUPS",	LTYPE3,	AMOVUPS,
1178*40d01547SDavid du Colombier 	"VMULPD",	LTYPEY,	AMULPD,
1179*40d01547SDavid du Colombier 	"VMULPS",	LTYPEY,	AMULPS,
1180*40d01547SDavid du Colombier 	"VMULSD",	LTYPEY,	AMULSD,
1181*40d01547SDavid du Colombier 	"VMULSS",	LTYPEY,	AMULSS,
1182*40d01547SDavid du Colombier 	"VORPD",		LTYPEY,	AORPD,
1183*40d01547SDavid du Colombier 	"VORPS",		LTYPEY,	AORPS,
1184*40d01547SDavid du Colombier 	"VPACKSSLW",	LTYPEY,	APACKSSLW,
1185*40d01547SDavid du Colombier 	"VPACKSSWB",	LTYPEY,	APACKSSWB,
1186*40d01547SDavid du Colombier 	"VPACKUSWB",	LTYPEY,	APACKUSWB,
1187*40d01547SDavid du Colombier 	"VPADDB",	LTYPEY,	APADDB,
1188*40d01547SDavid du Colombier 	"VPADDL",	LTYPEY,	APADDL,
1189*40d01547SDavid du Colombier 	"VPADDQ",	LTYPEY,	APADDQ,
1190*40d01547SDavid du Colombier 	"VPADDSB",	LTYPEY,	APADDSB,
1191*40d01547SDavid du Colombier 	"VPADDSW",	LTYPEY,	APADDSW,
1192*40d01547SDavid du Colombier 	"VPADDUSB",	LTYPEY,	APADDUSB,
1193*40d01547SDavid du Colombier 	"VPADDUSW",	LTYPEY,	APADDUSW,
1194*40d01547SDavid du Colombier 	"VPADDW",	LTYPEY,	APADDW,
1195*40d01547SDavid du Colombier 	"VPAND",		LTYPEY, APAND,
1196*40d01547SDavid du Colombier 	"VPANDB",	LTYPEY,	APANDB,
1197*40d01547SDavid du Colombier 	"VPANDL",	LTYPEY,	APANDL,
1198*40d01547SDavid du Colombier 	"VPANDSB",	LTYPEY,	APANDSB,
1199*40d01547SDavid du Colombier 	"VPANDSW",	LTYPEY,	APANDSW,
1200*40d01547SDavid du Colombier 	"VPANDUSB",	LTYPEY,	APANDUSB,
1201*40d01547SDavid du Colombier 	"VPANDUSW",	LTYPEY,	APANDUSW,
1202*40d01547SDavid du Colombier 	"VPANDW",	LTYPEY,	APANDW,
1203*40d01547SDavid du Colombier 	"VPANDN",	LTYPEY, APANDN,
1204*40d01547SDavid du Colombier 	"VPAVGB",	LTYPEY,	APAVGB,
1205*40d01547SDavid du Colombier 	"VPAVGW",	LTYPEY,	APAVGW,
1206*40d01547SDavid du Colombier 	"VPCMPEQB",	LTYPEY,	APCMPEQB,
1207*40d01547SDavid du Colombier 	"VPCMPEQL",	LTYPEY,	APCMPEQL,
1208*40d01547SDavid du Colombier 	"VPCMPEQW",	LTYPEY,	APCMPEQW,
1209*40d01547SDavid du Colombier 	"VPCMPGTB",	LTYPEY,	APCMPGTB,
1210*40d01547SDavid du Colombier 	"VPCMPGTL",	LTYPEY,	APCMPGTL,
1211*40d01547SDavid du Colombier 	"VPCMPGTW",	LTYPEY,	APCMPGTW,
1212*40d01547SDavid du Colombier 	"VPEXTRW",	LTYPEX,	APEXTRW,
1213*40d01547SDavid du Colombier 	"VPINSRW",	LTYPEX,	APINSRW,
1214*40d01547SDavid du Colombier 	"VPMADDWL",	LTYPEY,	APMADDWL,
1215*40d01547SDavid du Colombier 	"VPMAXSW",	LTYPEY,	APMAXSW,
1216*40d01547SDavid du Colombier 	"VPMAXUB",	LTYPEY,	APMAXUB,
1217*40d01547SDavid du Colombier 	"VPMINSW",	LTYPEY,	APMINSW,
1218*40d01547SDavid du Colombier 	"VPMINUB",	LTYPEY,	APMINUB,
1219*40d01547SDavid du Colombier 	"VPMOVMSKB",	LTYPE3,	APMOVMSKB,
1220*40d01547SDavid du Colombier 	"VPMULHUW",	LTYPEY,	APMULHUW,
1221*40d01547SDavid du Colombier 	"VPMULHW",	LTYPEY,	APMULHW,
1222*40d01547SDavid du Colombier 	"VPMULLW",	LTYPEY,	APMULLW,
1223*40d01547SDavid du Colombier 	"VPMULULQ",	LTYPEY,	APMULULQ,
1224*40d01547SDavid du Colombier 	"VPOR",		LTYPEY,	APOR,
1225*40d01547SDavid du Colombier 	"VPSADBW",	LTYPEY,	APSADBW,
1226*40d01547SDavid du Colombier 	"VPSHUFHW",	LTYPEX,	APSHUFHW,
1227*40d01547SDavid du Colombier 	"VPSHUFL",	LTYPEX,	APSHUFL,
1228*40d01547SDavid du Colombier 	"VPSHUFLW",	LTYPEX,	APSHUFLW,
1229*40d01547SDavid du Colombier 	"VPSLLDQ",	LTYPEY,	APSLLDQ,
1230*40d01547SDavid du Colombier 	"VPSLLL",	LTYPEY,	APSLLL,
1231*40d01547SDavid du Colombier 	"VPSLLQ",	LTYPEY,	APSLLQ,
1232*40d01547SDavid du Colombier 	"VPSLLW",	LTYPEY,	APSLLW,
1233*40d01547SDavid du Colombier 	"VPSRAL",	LTYPEY,	APSRAL,
1234*40d01547SDavid du Colombier 	"VPSRAW",	LTYPEY,	APSRAW,
1235*40d01547SDavid du Colombier 	"VPSRLDQ",	LTYPEY,	APSRLDQ,
1236*40d01547SDavid du Colombier 	"VPSRLL",	LTYPEY,	APSRLL,
1237*40d01547SDavid du Colombier 	"VPSRLQ",	LTYPEY,	APSRLQ,
1238*40d01547SDavid du Colombier 	"VPSRLW",	LTYPEY,	APSRLW,
1239*40d01547SDavid du Colombier 	"VPSUBB",	LTYPEY,	APSUBB,
1240*40d01547SDavid du Colombier 	"VPSUBL",	LTYPEY,	APSUBL,
1241*40d01547SDavid du Colombier 	"VPSUBQ",	LTYPEY,	APSUBQ,
1242*40d01547SDavid du Colombier 	"VPSUBSB",	LTYPEY,	APSUBSB,
1243*40d01547SDavid du Colombier 	"VPSUBSW",	LTYPEY,	APSUBSW,
1244*40d01547SDavid du Colombier 	"VPSUBUSB",	LTYPEY,	APSUBUSB,
1245*40d01547SDavid du Colombier 	"VPSUBUSW",	LTYPEY,	APSUBUSW,
1246*40d01547SDavid du Colombier 	"VPSUBW",	LTYPEY,	APSUBW,
1247*40d01547SDavid du Colombier 	"VPUNPCKHBW",	LTYPEY,	APUNPCKHBW,
1248*40d01547SDavid du Colombier 	"VPUNPCKHLQ",	LTYPEY,	APUNPCKHLQ,
1249*40d01547SDavid du Colombier 	"VPUNPCKHQDQ",	LTYPEY,	APUNPCKHQDQ,
1250*40d01547SDavid du Colombier 	"VPUNPCKHWL",	LTYPEY,	APUNPCKHWL,
1251*40d01547SDavid du Colombier 	"VPUNPCKLBW",	LTYPEY,	APUNPCKLBW,
1252*40d01547SDavid du Colombier 	"VPUNPCKLLQ",	LTYPEY,	APUNPCKLLQ,
1253*40d01547SDavid du Colombier 	"VPUNPCKLQDQ",	LTYPEY,	APUNPCKLQDQ,
1254*40d01547SDavid du Colombier 	"VPUNPCKLWL",	LTYPEY,	APUNPCKLWL,
1255*40d01547SDavid du Colombier 	"VPXOR",		LTYPEY,	APXOR,
1256*40d01547SDavid du Colombier 	"VRCPPS",	LTYPEY,	ARCPPS,
1257*40d01547SDavid du Colombier 	"VRCPSS",	LTYPEY,	ARCPSS,
1258*40d01547SDavid du Colombier 	"VRSQRTPS",	LTYPEY,	ARSQRTPS,
1259*40d01547SDavid du Colombier 	"VRSQRTSS",	LTYPEY,	ARSQRTSS,
1260*40d01547SDavid du Colombier 	"VSHUFPD",	LTYPEX,	ASHUFPD,
1261*40d01547SDavid du Colombier 	"VSHUFPS",	LTYPEX,	ASHUFPS,
1262*40d01547SDavid du Colombier 	"VSQRTPD",	LTYPEY,	ASQRTPD,
1263*40d01547SDavid du Colombier 	"VSQRTPS",	LTYPEY,	ASQRTPS,
1264*40d01547SDavid du Colombier 	"VSQRTSD",	LTYPEY,	ASQRTSD,
1265*40d01547SDavid du Colombier 	"VSQRTSS",	LTYPEY,	ASQRTSS,
1266*40d01547SDavid du Colombier 	"VSTMXCSR",	LTYPE1,	ASTMXCSR,
1267*40d01547SDavid du Colombier 	"VSUBPD",	LTYPEY,	ASUBPD,
1268*40d01547SDavid du Colombier 	"VSUBPS",	LTYPEY,	ASUBPS,
1269*40d01547SDavid du Colombier 	"VSUBSD",	LTYPEY,	ASUBSD,
1270*40d01547SDavid du Colombier 	"VSUBSS",	LTYPEY,	ASUBSS,
1271*40d01547SDavid du Colombier 	"VUCOMISD",	LTYPEY,	AUCOMISD,
1272*40d01547SDavid du Colombier 	"VUCOMISS",	LTYPEY,	AUCOMISS,
1273*40d01547SDavid du Colombier 	"VUNPCKHPD",	LTYPEY,	AUNPCKHPD,
1274*40d01547SDavid du Colombier 	"VUNPCKHPS",	LTYPEY,	AUNPCKHPS,
1275*40d01547SDavid du Colombier 	"VUNPCKLPD",	LTYPEY,	AUNPCKLPD,
1276*40d01547SDavid du Colombier 	"VUNPCKLPS",	LTYPEY,	AUNPCKLPS,
1277*40d01547SDavid du Colombier 	"VXORPD",	LTYPEY,	AXORPD,
1278*40d01547SDavid du Colombier 	"VXORPS",	LTYPEY,	AXORPS,
1279*40d01547SDavid du Colombier 	"VAESDEC",	LTYPEY,	AAESDEC,
1280*40d01547SDavid du Colombier 	"VAESDECLAST",	LTYPEY,	AAESDECLAST,
1281*40d01547SDavid du Colombier 	"VAESENC",	LTYPEY,	AAESENC,
1282*40d01547SDavid du Colombier 	"VAESENCLAST",	LTYPEY,	AAESENCLAST,
1283*40d01547SDavid du Colombier 	"VAESIMC",	LTYPEY,	AAESIMC,
1284*40d01547SDavid du Colombier 	"VAESKEYGENASSIST",	LTYPEY,	AAESKEYGENASSIST,
1285*40d01547SDavid du Colombier 	"VBLENDPD",	LTYPEY,	ABLENDPD,
1286*40d01547SDavid du Colombier 	"VBLENDPS",	LTYPEY,	ABLENDPS,
1287*40d01547SDavid du Colombier 	"VBLENDVPD",	LTYPEY,	ABLENDVPD,
1288*40d01547SDavid du Colombier 	"VBLENDVPS",	LTYPEY,	ABLENDVPS,
1289*40d01547SDavid du Colombier 	"VDPPD",	LTYPEY,	ADPPD,
1290*40d01547SDavid du Colombier 	"VDPPS",	LTYPEY,	ADPPS,
1291*40d01547SDavid du Colombier 	"VEXTRACTPS",	LTYPEY,	AEXTRACTPS,
1292*40d01547SDavid du Colombier 	"VINSERTPS",	LTYPEY,	AINSERTPS,
1293*40d01547SDavid du Colombier 	"VMOVNTDQA",	LTYPEY,	AMOVNTDQA,
1294*40d01547SDavid du Colombier 	"VMPSADBW",	LTYPEY,	AMPSADBW,
1295*40d01547SDavid du Colombier 	"VPABSB",	LTYPEY,	APABSB,
1296*40d01547SDavid du Colombier 	"VPABSD",	LTYPEY,	APABSL,	/* syn */
1297*40d01547SDavid du Colombier 	"VPABSL",	LTYPEY,	APABSL,
1298*40d01547SDavid du Colombier 	"VPABSW",	LTYPEY,	APABSW,
1299*40d01547SDavid du Colombier 	"VPACKUSDW",	LTYPEY,	APACKUSDW,
1300*40d01547SDavid du Colombier 	"VPALIGNR",	LTYPEX,	APALIGNR,
1301*40d01547SDavid du Colombier 	"VPBLENDVB",	LTYPEY,	APBLENDVB,
1302*40d01547SDavid du Colombier 	"VPBLENDW",	LTYPEY,	APBLENDW,
1303*40d01547SDavid du Colombier 	"VPCLMULHQHQDQ",	LTYPEY,	APCLMULHQHQDQ,
1304*40d01547SDavid du Colombier 	"VPCLMULHQLQDQ",	LTYPEY,	APCLMULHQLQDQ,
1305*40d01547SDavid du Colombier 	"VPCLMULLQHQDQ",	LTYPEY,	APCLMULLQHQDQ,
1306*40d01547SDavid du Colombier 	"VPCLMULLQLQDQ",	LTYPEY,	APCLMULLQLQDQ,
1307*40d01547SDavid du Colombier 	"VPCLMULQDQ",	LTYPEY,	APCLMULQDQ,
1308*40d01547SDavid du Colombier 	"VPCMPEQQ",	LTYPEY,	APCMPEQQ,
1309*40d01547SDavid du Colombier 	"VPCMPESTRI",	LTYPEY,	APCMPESTRI,
1310*40d01547SDavid du Colombier 	"VPCMPESTRM",	LTYPEY,	APCMPESTRM,
1311*40d01547SDavid du Colombier 	"VPCMPGTQ",	LTYPEY,	APCMPGTQ,
1312*40d01547SDavid du Colombier 	"VPCMPISTRI",	LTYPEY,	APCMPISTRI,
1313*40d01547SDavid du Colombier 	"VPCMPISTRM",	LTYPEY,	APCMPISTRM,
1314*40d01547SDavid du Colombier 	"VPEXTRB",	LTYPEY,	APEXTRB,
1315*40d01547SDavid du Colombier 	"VPEXTRL",	LTYPEY,	APEXTRL,
1316*40d01547SDavid du Colombier 	"VPHADDL",	LTYPEY,	APHADDL,
1317*40d01547SDavid du Colombier 	"VPHADDSW",	LTYPEY,	APHADDSW,
1318*40d01547SDavid du Colombier 	"VPHADDW",	LTYPEY,	APHADDW,
1319*40d01547SDavid du Colombier 	"VPHMINPOSUW",	LTYPEY,	APHMINPOSUW,
1320*40d01547SDavid du Colombier 	"VPHSUBL",	LTYPEY,	APHSUBL,
1321*40d01547SDavid du Colombier 	"VPHSUBSW",	LTYPEY,	APHSUBSW,
1322*40d01547SDavid du Colombier 	"VPHSUBW",	LTYPEY,	APHSUBW,
1323*40d01547SDavid du Colombier 	"VPINSRB",	LTYPEY,	APINSRB,
1324*40d01547SDavid du Colombier 	"VPINSRL",	LTYPEY,	APINSRL,
1325*40d01547SDavid du Colombier 	"VPMADDUBSW",	LTYPEY,	APMADDUBSW,
1326*40d01547SDavid du Colombier 	"VPMAXSB",	LTYPEY,	APMAXSB,
1327*40d01547SDavid du Colombier 	"VPMAXSL",	LTYPEY,	APMAXSL,
1328*40d01547SDavid du Colombier 	"VPMAXUL",	LTYPEY,	APMAXUL,
1329*40d01547SDavid du Colombier 	"VPMAXUW",	LTYPEY,	APMAXUW,
1330*40d01547SDavid du Colombier 	"VPMINSB",	LTYPEY,	APMINSB,
1331*40d01547SDavid du Colombier 	"VPMINSL",	LTYPEY,	APMINSL,
1332*40d01547SDavid du Colombier 	"VPMINUL",	LTYPEY,	APMINUL,
1333*40d01547SDavid du Colombier 	"VPMINUW",	LTYPEY,	APMINUW,
1334*40d01547SDavid du Colombier 	"VPMOVSXBL",	LTYPEY,	APMOVSXBL,
1335*40d01547SDavid du Colombier 	"VPMOVSXBQ",	LTYPEY,	APMOVSXBQ,
1336*40d01547SDavid du Colombier 	"VPMOVSXBW",	LTYPEY,	APMOVSXBW,
1337*40d01547SDavid du Colombier 	"VPMOVSXLQ",	LTYPEY,	APMOVSXLQ,
1338*40d01547SDavid du Colombier 	"VPMOVSXWL",	LTYPEY,	APMOVSXWL,
1339*40d01547SDavid du Colombier 	"VPMOVSXWQ",	LTYPEY,	APMOVSXWQ,
1340*40d01547SDavid du Colombier 	"VPMOVZXBL",	LTYPEY,	APMOVZXBL,
1341*40d01547SDavid du Colombier 	"VPMOVZXBQ",	LTYPEY,	APMOVZXBQ,
1342*40d01547SDavid du Colombier 	"VPMOVZXBW",	LTYPEY,	APMOVZXBW,
1343*40d01547SDavid du Colombier 	"VPMOVZXLQ",	LTYPEY,	APMOVZXLQ,
1344*40d01547SDavid du Colombier 	"VPMOVZXWL",	LTYPEY,	APMOVZXWL,
1345*40d01547SDavid du Colombier 	"VPMOVZXWQ",	LTYPEY,	APMOVZXWQ,
1346*40d01547SDavid du Colombier 	"VPMULHRSW",	LTYPEY,	APMULHRSW,
1347*40d01547SDavid du Colombier 	"VPMULLL",	LTYPEY,	APMULLL,
1348*40d01547SDavid du Colombier 	"VPMULLQ",	LTYPEY,	APMULLQ,
1349*40d01547SDavid du Colombier 	"VPSHUFB",	LTYPEY,	APSHUFB,
1350*40d01547SDavid du Colombier 	"VPSIGNB",	LTYPEY,	APSIGNB,
1351*40d01547SDavid du Colombier 	"VPSIGNL",	LTYPEY,	APSIGNL,
1352*40d01547SDavid du Colombier 	"VPSIGNW",	LTYPEY,	APSIGNW,
1353*40d01547SDavid du Colombier 	"VPTEST",	LTYPEY,	APTEST,
1354*40d01547SDavid du Colombier 	"VROUNDPD",	LTYPEY,	AROUNDPD,
1355*40d01547SDavid du Colombier 	"VROUNDPS",	LTYPEY,	AROUNDPS,
1356*40d01547SDavid du Colombier 	"VROUNDSD",	LTYPEY,	AROUNDSD,
1357*40d01547SDavid du Colombier 	"VROUNDSS",	LTYPEY,	AROUNDSS,
1358e887ea33SDavid du Colombier 	0
1359e887ea33SDavid du Colombier };
1360e887ea33SDavid du Colombier 
1361*40d01547SDavid du Colombier int
isxyreg(int t)1362*40d01547SDavid du Colombier isxyreg(int t)
1363*40d01547SDavid du Colombier {
1364*40d01547SDavid du Colombier 	return t >= D_X0 && t <= D_X15 || t >= D_Y0 && t <= D_Y15;
1365*40d01547SDavid du Colombier }
1366*40d01547SDavid du Colombier 
1367e887ea33SDavid du Colombier void
cinit(void)1368e887ea33SDavid du Colombier cinit(void)
1369e887ea33SDavid du Colombier {
1370e887ea33SDavid du Colombier 	Sym *s;
1371e887ea33SDavid du Colombier 	int i;
1372e887ea33SDavid du Colombier 
1373e887ea33SDavid du Colombier 	nullgen.sym = S;
1374e887ea33SDavid du Colombier 	nullgen.offset = 0;
1375e887ea33SDavid du Colombier 	if(FPCHIP)
1376e887ea33SDavid du Colombier 		nullgen.dval = 0;
1377e887ea33SDavid du Colombier 	for(i=0; i<sizeof(nullgen.sval); i++)
1378e887ea33SDavid du Colombier 		nullgen.sval[i] = 0;
1379e887ea33SDavid du Colombier 	nullgen.type = D_NONE;
1380e887ea33SDavid du Colombier 	nullgen.index = D_NONE;
1381e887ea33SDavid du Colombier 	nullgen.scale = 0;
1382e887ea33SDavid du Colombier 
1383e887ea33SDavid du Colombier 	nerrors = 0;
1384e887ea33SDavid du Colombier 	iostack = I;
1385e887ea33SDavid du Colombier 	iofree = I;
1386e887ea33SDavid du Colombier 	peekc = IGN;
1387e887ea33SDavid du Colombier 	nhunk = 0;
1388e887ea33SDavid du Colombier 	for(i=0; i<NHASH; i++)
1389e887ea33SDavid du Colombier 		hash[i] = S;
1390e887ea33SDavid du Colombier 	for(i=0; itab[i].name; i++) {
1391e887ea33SDavid du Colombier 		s = slookup(itab[i].name);
1392e887ea33SDavid du Colombier 		if(s->type != LNAME)
1393e887ea33SDavid du Colombier 			yyerror("double initialization %s", itab[i].name);
1394e887ea33SDavid du Colombier 		s->type = itab[i].type;
1395e887ea33SDavid du Colombier 		s->value = itab[i].value;
1396e887ea33SDavid du Colombier 	}
1397e887ea33SDavid du Colombier 
1398e887ea33SDavid du Colombier 	pathname = allocn(pathname, 0, 100);
1399e887ea33SDavid du Colombier 	if(mygetwd(pathname, 99) == 0) {
1400e887ea33SDavid du Colombier 		pathname = allocn(pathname, 100, 900);
1401e887ea33SDavid du Colombier 		if(mygetwd(pathname, 999) == 0)
1402e887ea33SDavid du Colombier 			strcpy(pathname, "/???");
1403e887ea33SDavid du Colombier 	}
1404e887ea33SDavid du Colombier }
1405e887ea33SDavid du Colombier 
1406e887ea33SDavid du Colombier void
checkscale(int scale)1407e887ea33SDavid du Colombier checkscale(int scale)
1408e887ea33SDavid du Colombier {
1409e887ea33SDavid du Colombier 
1410e887ea33SDavid du Colombier 	switch(scale) {
1411e887ea33SDavid du Colombier 	case 1:
1412e887ea33SDavid du Colombier 	case 2:
1413e887ea33SDavid du Colombier 	case 4:
1414e887ea33SDavid du Colombier 	case 8:
1415e887ea33SDavid du Colombier 		return;
1416e887ea33SDavid du Colombier 	}
1417e887ea33SDavid du Colombier 	yyerror("scale must be 1248: %d", scale);
1418e887ea33SDavid du Colombier }
1419e887ea33SDavid du Colombier 
1420e887ea33SDavid du Colombier void
syminit(Sym * s)1421e887ea33SDavid du Colombier syminit(Sym *s)
1422e887ea33SDavid du Colombier {
1423e887ea33SDavid du Colombier 
1424e887ea33SDavid du Colombier 	s->type = LNAME;
1425e887ea33SDavid du Colombier 	s->value = 0;
1426e887ea33SDavid du Colombier }
1427e887ea33SDavid du Colombier 
1428e887ea33SDavid du Colombier void
cclean(void)1429e887ea33SDavid du Colombier cclean(void)
1430e887ea33SDavid du Colombier {
1431e887ea33SDavid du Colombier 	Gen2 g2;
1432e887ea33SDavid du Colombier 
1433e887ea33SDavid du Colombier 	g2.from = nullgen;
1434e887ea33SDavid du Colombier 	g2.to = nullgen;
1435e887ea33SDavid du Colombier 	outcode(AEND, &g2);
1436e887ea33SDavid du Colombier 	Bflush(&obuf);
1437e887ea33SDavid du Colombier }
1438e887ea33SDavid du Colombier 
1439e887ea33SDavid du Colombier void
zname(char * n,int t,int s)1440e887ea33SDavid du Colombier zname(char *n, int t, int s)
1441e887ea33SDavid du Colombier {
1442e887ea33SDavid du Colombier 
1443e887ea33SDavid du Colombier 	Bputc(&obuf, ANAME);		/* as(2) */
1444e887ea33SDavid du Colombier 	Bputc(&obuf, ANAME>>8);
1445e887ea33SDavid du Colombier 	Bputc(&obuf, t);		/* type */
1446e887ea33SDavid du Colombier 	Bputc(&obuf, s);		/* sym */
1447e887ea33SDavid du Colombier 	while(*n) {
1448e887ea33SDavid du Colombier 		Bputc(&obuf, *n);
1449e887ea33SDavid du Colombier 		n++;
1450e887ea33SDavid du Colombier 	}
1451e887ea33SDavid du Colombier 	Bputc(&obuf, 0);
1452e887ea33SDavid du Colombier }
1453e887ea33SDavid du Colombier 
1454e887ea33SDavid du Colombier void
zaddr(Gen * a,int s)1455e887ea33SDavid du Colombier zaddr(Gen *a, int s)
1456e887ea33SDavid du Colombier {
1457*40d01547SDavid du Colombier 	int i, l, t;
1458e887ea33SDavid du Colombier 	char *n;
1459e887ea33SDavid du Colombier 	Ieee e;
1460e887ea33SDavid du Colombier 
1461e887ea33SDavid du Colombier 	t = 0;
1462e887ea33SDavid du Colombier 	if(a->index != D_NONE || a->scale != 0)
1463e887ea33SDavid du Colombier 		t |= T_INDEX;
1464e887ea33SDavid du Colombier 	if(a->offset != 0) {
1465e887ea33SDavid du Colombier 		t |= T_OFFSET;
1466e887ea33SDavid du Colombier 		l = a->offset;
1467e887ea33SDavid du Colombier 		if((vlong)l != a->offset)
1468e887ea33SDavid du Colombier 			t |= T_64;
1469e887ea33SDavid du Colombier 	}
1470e887ea33SDavid du Colombier 	if(s != 0)
1471e887ea33SDavid du Colombier 		t |= T_SYM;
1472e887ea33SDavid du Colombier 
1473e887ea33SDavid du Colombier 	switch(a->type) {
1474e887ea33SDavid du Colombier 	default:
1475e887ea33SDavid du Colombier 		t |= T_TYPE;
1476e887ea33SDavid du Colombier 		break;
1477e887ea33SDavid du Colombier 	case D_FCONST:
1478e887ea33SDavid du Colombier 		t |= T_FCONST;
1479e887ea33SDavid du Colombier 		break;
1480e887ea33SDavid du Colombier 	case D_SCONST:
1481e887ea33SDavid du Colombier 		t |= T_SCONST;
1482e887ea33SDavid du Colombier 		break;
1483e887ea33SDavid du Colombier 	case D_NONE:
1484e887ea33SDavid du Colombier 		break;
1485e887ea33SDavid du Colombier 	}
1486e887ea33SDavid du Colombier 	Bputc(&obuf, t);
1487e887ea33SDavid du Colombier 
1488e887ea33SDavid du Colombier 	if(t & T_INDEX) {	/* implies index, scale */
1489e887ea33SDavid du Colombier 		Bputc(&obuf, a->index);
1490e887ea33SDavid du Colombier 		Bputc(&obuf, a->scale);
1491e887ea33SDavid du Colombier 	}
1492e887ea33SDavid du Colombier 	if(t & T_OFFSET) {	/* implies offset */
1493e887ea33SDavid du Colombier 		l = a->offset;
1494e887ea33SDavid du Colombier 		Bputc(&obuf, l);
1495e887ea33SDavid du Colombier 		Bputc(&obuf, l>>8);
1496e887ea33SDavid du Colombier 		Bputc(&obuf, l>>16);
1497e887ea33SDavid du Colombier 		Bputc(&obuf, l>>24);
1498e887ea33SDavid du Colombier 		if(t & T_64) {
1499e887ea33SDavid du Colombier 			l = a->offset>>32;
1500e887ea33SDavid du Colombier 			Bputc(&obuf, l);
1501e887ea33SDavid du Colombier 			Bputc(&obuf, l>>8);
1502e887ea33SDavid du Colombier 			Bputc(&obuf, l>>16);
1503e887ea33SDavid du Colombier 			Bputc(&obuf, l>>24);
1504e887ea33SDavid du Colombier 		}
1505e887ea33SDavid du Colombier 	}
1506e887ea33SDavid du Colombier 	if(t & T_SYM)		/* implies sym */
1507e887ea33SDavid du Colombier 		Bputc(&obuf, s);
1508e887ea33SDavid du Colombier 	if(t & T_FCONST) {
1509e887ea33SDavid du Colombier 		ieeedtod(&e, a->dval);
1510e887ea33SDavid du Colombier 		l = e.l;
1511e887ea33SDavid du Colombier 		Bputc(&obuf, l);
1512e887ea33SDavid du Colombier 		Bputc(&obuf, l>>8);
1513e887ea33SDavid du Colombier 		Bputc(&obuf, l>>16);
1514e887ea33SDavid du Colombier 		Bputc(&obuf, l>>24);
1515e887ea33SDavid du Colombier 		l = e.h;
1516e887ea33SDavid du Colombier 		Bputc(&obuf, l);
1517e887ea33SDavid du Colombier 		Bputc(&obuf, l>>8);
1518e887ea33SDavid du Colombier 		Bputc(&obuf, l>>16);
1519e887ea33SDavid du Colombier 		Bputc(&obuf, l>>24);
1520e887ea33SDavid du Colombier 		return;
1521e887ea33SDavid du Colombier 	}
1522e887ea33SDavid du Colombier 	if(t & T_SCONST) {
1523e887ea33SDavid du Colombier 		n = a->sval;
1524e887ea33SDavid du Colombier 		for(i=0; i<NSNAME; i++) {
1525e887ea33SDavid du Colombier 			Bputc(&obuf, *n);
1526e887ea33SDavid du Colombier 			n++;
1527e887ea33SDavid du Colombier 		}
1528e887ea33SDavid du Colombier 		return;
1529e887ea33SDavid du Colombier 	}
1530e887ea33SDavid du Colombier 	if(t & T_TYPE)
1531e887ea33SDavid du Colombier 		Bputc(&obuf, a->type);
1532e887ea33SDavid du Colombier }
1533e887ea33SDavid du Colombier 
1534e887ea33SDavid du Colombier void
outcode(int a,Gen2 * g2)1535e887ea33SDavid du Colombier outcode(int a, Gen2 *g2)
1536e887ea33SDavid du Colombier {
1537e887ea33SDavid du Colombier 	int sf, st, t;
1538e887ea33SDavid du Colombier 	Sym *s;
1539e887ea33SDavid du Colombier 
1540e887ea33SDavid du Colombier 	if(pass == 1)
1541e887ea33SDavid du Colombier 		goto out;
1542e887ea33SDavid du Colombier 
1543e887ea33SDavid du Colombier jackpot:
1544e887ea33SDavid du Colombier 	sf = 0;
1545e887ea33SDavid du Colombier 	s = g2->from.sym;
1546e887ea33SDavid du Colombier 	while(s != S) {
1547e887ea33SDavid du Colombier 		sf = s->sym;
1548e887ea33SDavid du Colombier 		if(sf < 0 || sf >= NSYM)
1549e887ea33SDavid du Colombier 			sf = 0;
1550e887ea33SDavid du Colombier 		t = g2->from.type;
1551e887ea33SDavid du Colombier 		if(t == D_ADDR)
1552e887ea33SDavid du Colombier 			t = g2->from.index;
1553e887ea33SDavid du Colombier 		if(h[sf].type == t)
1554e887ea33SDavid du Colombier 		if(h[sf].sym == s)
1555e887ea33SDavid du Colombier 			break;
1556e887ea33SDavid du Colombier 		zname(s->name, t, sym);
1557e887ea33SDavid du Colombier 		s->sym = sym;
1558e887ea33SDavid du Colombier 		h[sym].sym = s;
1559e887ea33SDavid du Colombier 		h[sym].type = t;
1560e887ea33SDavid du Colombier 		sf = sym;
1561e887ea33SDavid du Colombier 		sym++;
1562e887ea33SDavid du Colombier 		if(sym >= NSYM)
1563e887ea33SDavid du Colombier 			sym = 1;
1564e887ea33SDavid du Colombier 		break;
1565e887ea33SDavid du Colombier 	}
1566e887ea33SDavid du Colombier 	st = 0;
1567e887ea33SDavid du Colombier 	s = g2->to.sym;
1568e887ea33SDavid du Colombier 	while(s != S) {
1569e887ea33SDavid du Colombier 		st = s->sym;
1570e887ea33SDavid du Colombier 		if(st < 0 || st >= NSYM)
1571e887ea33SDavid du Colombier 			st = 0;
1572e887ea33SDavid du Colombier 		t = g2->to.type;
1573e887ea33SDavid du Colombier 		if(t == D_ADDR)
1574e887ea33SDavid du Colombier 			t = g2->to.index;
1575e887ea33SDavid du Colombier 		if(h[st].type == t)
1576e887ea33SDavid du Colombier 		if(h[st].sym == s)
1577e887ea33SDavid du Colombier 			break;
1578e887ea33SDavid du Colombier 		zname(s->name, t, sym);
1579e887ea33SDavid du Colombier 		s->sym = sym;
1580e887ea33SDavid du Colombier 		h[sym].sym = s;
1581e887ea33SDavid du Colombier 		h[sym].type = t;
1582e887ea33SDavid du Colombier 		st = sym;
1583e887ea33SDavid du Colombier 		sym++;
1584e887ea33SDavid du Colombier 		if(sym >= NSYM)
1585e887ea33SDavid du Colombier 			sym = 1;
1586e887ea33SDavid du Colombier 		if(st == sf)
1587e887ea33SDavid du Colombier 			goto jackpot;
1588e887ea33SDavid du Colombier 		break;
1589e887ea33SDavid du Colombier 	}
1590e887ea33SDavid du Colombier 	Bputc(&obuf, a);
1591e887ea33SDavid du Colombier 	Bputc(&obuf, a>>8);
1592e887ea33SDavid du Colombier 	Bputc(&obuf, lineno);
1593e887ea33SDavid du Colombier 	Bputc(&obuf, lineno>>8);
1594e887ea33SDavid du Colombier 	Bputc(&obuf, lineno>>16);
1595e887ea33SDavid du Colombier 	Bputc(&obuf, lineno>>24);
1596e887ea33SDavid du Colombier 	zaddr(&g2->from, sf);
1597e887ea33SDavid du Colombier 	zaddr(&g2->to, st);
1598e887ea33SDavid du Colombier 
1599e887ea33SDavid du Colombier out:
1600e887ea33SDavid du Colombier 	if(a != AGLOBL && a != ADATA && a != AMODE)
1601e887ea33SDavid du Colombier 		pc++;
1602e887ea33SDavid du Colombier }
1603e887ea33SDavid du Colombier 
1604e887ea33SDavid du Colombier void
outhist(void)1605e887ea33SDavid du Colombier outhist(void)
1606e887ea33SDavid du Colombier {
1607e887ea33SDavid du Colombier 	Gen g;
1608e887ea33SDavid du Colombier 	Hist *h;
1609e887ea33SDavid du Colombier 	char *p, *q, *op, c;
1610e887ea33SDavid du Colombier 	int n;
1611e887ea33SDavid du Colombier 
1612e887ea33SDavid du Colombier 	g = nullgen;
1613e887ea33SDavid du Colombier 	c = pathchar();
1614e887ea33SDavid du Colombier 	for(h = hist; h != H; h = h->link) {
1615e887ea33SDavid du Colombier 		p = h->name;
1616e887ea33SDavid du Colombier 		op = 0;
1617e887ea33SDavid du Colombier 		/* on windows skip drive specifier in pathname */
1618e887ea33SDavid du Colombier 		if(systemtype(Windows) && p && p[1] == ':'){
1619e887ea33SDavid du Colombier 			p += 2;
1620e887ea33SDavid du Colombier 			c = *p;
1621e887ea33SDavid du Colombier 		}
1622e887ea33SDavid du Colombier 		if(p && p[0] != c && h->offset == 0 && pathname){
1623e887ea33SDavid du Colombier 			/* on windows skip drive specifier in pathname */
1624e887ea33SDavid du Colombier 			if(systemtype(Windows) && pathname[1] == ':') {
1625e887ea33SDavid du Colombier 				op = p;
1626e887ea33SDavid du Colombier 				p = pathname+2;
1627e887ea33SDavid du Colombier 				c = *p;
1628e887ea33SDavid du Colombier 			} else if(pathname[0] == c){
1629e887ea33SDavid du Colombier 				op = p;
1630e887ea33SDavid du Colombier 				p = pathname;
1631e887ea33SDavid du Colombier 			}
1632e887ea33SDavid du Colombier 		}
1633e887ea33SDavid du Colombier 		while(p) {
1634e887ea33SDavid du Colombier 			q = strchr(p, c);
1635e887ea33SDavid du Colombier 			if(q) {
1636e887ea33SDavid du Colombier 				n = q-p;
1637e887ea33SDavid du Colombier 				if(n == 0){
1638e887ea33SDavid du Colombier 					n = 1;	/* leading "/" */
1639e887ea33SDavid du Colombier 					*p = '/';	/* don't emit "\" on windows */
1640e887ea33SDavid du Colombier 				}
1641e887ea33SDavid du Colombier 				q++;
1642e887ea33SDavid du Colombier 			} else {
1643e887ea33SDavid du Colombier 				n = strlen(p);
1644e887ea33SDavid du Colombier 				q = 0;
1645e887ea33SDavid du Colombier 			}
1646e887ea33SDavid du Colombier 			if(n) {
1647e887ea33SDavid du Colombier 				Bputc(&obuf, ANAME);
1648e887ea33SDavid du Colombier 				Bputc(&obuf, ANAME>>8);
1649e887ea33SDavid du Colombier 				Bputc(&obuf, D_FILE);	/* type */
1650e887ea33SDavid du Colombier 				Bputc(&obuf, 1);	/* sym */
1651e887ea33SDavid du Colombier 				Bputc(&obuf, '<');
1652e887ea33SDavid du Colombier 				Bwrite(&obuf, p, n);
1653e887ea33SDavid du Colombier 				Bputc(&obuf, 0);
1654e887ea33SDavid du Colombier 			}
1655e887ea33SDavid du Colombier 			p = q;
1656e887ea33SDavid du Colombier 			if(p == 0 && op) {
1657e887ea33SDavid du Colombier 				p = op;
1658e887ea33SDavid du Colombier 				op = 0;
1659e887ea33SDavid du Colombier 			}
1660e887ea33SDavid du Colombier 		}
1661e887ea33SDavid du Colombier 		g.offset = h->offset;
1662e887ea33SDavid du Colombier 
1663e887ea33SDavid du Colombier 		Bputc(&obuf, AHISTORY);
1664e887ea33SDavid du Colombier 		Bputc(&obuf, AHISTORY>>8);
1665e887ea33SDavid du Colombier 		Bputc(&obuf, h->line);
1666e887ea33SDavid du Colombier 		Bputc(&obuf, h->line>>8);
1667e887ea33SDavid du Colombier 		Bputc(&obuf, h->line>>16);
1668e887ea33SDavid du Colombier 		Bputc(&obuf, h->line>>24);
1669e887ea33SDavid du Colombier 		zaddr(&nullgen, 0);
1670e887ea33SDavid du Colombier 		zaddr(&g, 0);
1671e887ea33SDavid du Colombier 	}
1672e887ea33SDavid du Colombier }
1673e887ea33SDavid du Colombier 
1674e887ea33SDavid du Colombier #include "../cc/lexbody"
1675e887ea33SDavid du Colombier #include "../cc/macbody"
1676e887ea33SDavid du Colombier #include "../cc/compat"
1677