Checkpoint. More refactoring.
[tinycc/k1w1.git] / x86_64-tok.h
blob406af840cb4a2954c36ce53c745d3167c56d4e19
2 /* WARNING: relative order of tokens is important. */
3 DEF_ASM(al)
4 DEF_ASM(cl)
5 DEF_ASM(dl)
6 DEF_ASM(bl)
7 DEF_ASM(ah)
8 DEF_ASM(ch)
9 DEF_ASM(dh)
10 DEF_ASM(bh)
11 DEF_ASM(ax)
12 DEF_ASM(cx)
13 DEF_ASM(dx)
14 DEF_ASM(bx)
15 DEF_ASM(sp)
16 DEF_ASM(bp)
17 DEF_ASM(si)
18 DEF_ASM(di)
19 DEF_ASM(eax)
20 DEF_ASM(ecx)
21 DEF_ASM(edx)
22 DEF_ASM(ebx)
23 DEF_ASM(esp)
24 DEF_ASM(ebp)
25 DEF_ASM(esi)
26 DEF_ASM(edi)
27 DEF_ASM(rax)
28 DEF_ASM(rcx)
29 DEF_ASM(rdx)
30 DEF_ASM(rbx)
31 DEF_ASM(rsp)
32 DEF_ASM(rbp)
33 DEF_ASM(rsi)
34 DEF_ASM(rdi)
35 DEF_ASM(mm0)
36 DEF_ASM(mm1)
37 DEF_ASM(mm2)
38 DEF_ASM(mm3)
39 DEF_ASM(mm4)
40 DEF_ASM(mm5)
41 DEF_ASM(mm6)
42 DEF_ASM(mm7)
43 DEF_ASM(xmm0)
44 DEF_ASM(xmm1)
45 DEF_ASM(xmm2)
46 DEF_ASM(xmm3)
47 DEF_ASM(xmm4)
48 DEF_ASM(xmm5)
49 DEF_ASM(xmm6)
50 DEF_ASM(xmm7)
51 DEF_ASM(cr0)
52 DEF_ASM(cr1)
53 DEF_ASM(cr2)
54 DEF_ASM(cr3)
55 DEF_ASM(cr4)
56 DEF_ASM(cr5)
57 DEF_ASM(cr6)
58 DEF_ASM(cr7)
59 DEF_ASM(tr0)
60 DEF_ASM(tr1)
61 DEF_ASM(tr2)
62 DEF_ASM(tr3)
63 DEF_ASM(tr4)
64 DEF_ASM(tr5)
65 DEF_ASM(tr6)
66 DEF_ASM(tr7)
67 DEF_ASM(db0)
68 DEF_ASM(db1)
69 DEF_ASM(db2)
70 DEF_ASM(db3)
71 DEF_ASM(db4)
72 DEF_ASM(db5)
73 DEF_ASM(db6)
74 DEF_ASM(db7)
75 DEF_ASM(dr0)
76 DEF_ASM(dr1)
77 DEF_ASM(dr2)
78 DEF_ASM(dr3)
79 DEF_ASM(dr4)
80 DEF_ASM(dr5)
81 DEF_ASM(dr6)
82 DEF_ASM(dr7)
83 DEF_ASM(es)
84 DEF_ASM(cs)
85 DEF_ASM(ss)
86 DEF_ASM(ds)
87 DEF_ASM(fs)
88 DEF_ASM(gs)
89 DEF_ASM(st)
91 DEF_BWLQ(mov)
93 /* generic two operands */
94 DEF_BWLQ(add)
95 DEF_BWLQ(or)
96 DEF_BWLQ(adc)
97 DEF_BWLQ(sbb)
98 DEF_BWLQ(and)
99 DEF_BWLQ(sub)
100 DEF_BWLQ(xor)
101 DEF_BWLQ(cmp)
103 /* unary ops */
104 DEF_BWLQ(inc)
105 DEF_BWLQ(dec)
106 DEF_BWLQ(not)
107 DEF_BWLQ(neg)
108 DEF_BWLQ(mul)
109 DEF_BWLQ(imul)
110 DEF_BWLQ(div)
111 DEF_BWLQ(idiv)
113 DEF_BWLQ(xchg)
114 DEF_BWLQ(test)
116 /* shifts */
117 DEF_BWLQ(rol)
118 DEF_BWLQ(ror)
119 DEF_BWLQ(rcl)
120 DEF_BWLQ(rcr)
121 DEF_BWLQ(shl)
122 DEF_BWLQ(shr)
123 DEF_BWLQ(sar)
125 DEF_ASM(shldw)
126 DEF_ASM(shldl)
127 DEF_ASM(shld)
128 DEF_ASM(shrdw)
129 DEF_ASM(shrdl)
130 DEF_ASM(shrd)
132 DEF_ASM(pushw)
133 DEF_ASM(pushl)
134 DEF_ASM(pushq)
135 DEF_ASM(push)
136 DEF_ASM(popw)
137 DEF_ASM(popl)
138 DEF_ASM(popq)
139 DEF_ASM(pop)
140 DEF_BWL(in)
141 DEF_BWL(out)
143 DEF_WL(movzb)
145 DEF_ASM(movzwl)
146 DEF_ASM(movsbw)
147 DEF_ASM(movsbl)
148 DEF_ASM(movswl)
149 DEF_ASM(movslq)
151 DEF_WLQ(lea)
153 DEF_ASM(les)
154 DEF_ASM(lds)
155 DEF_ASM(lss)
156 DEF_ASM(lfs)
157 DEF_ASM(lgs)
159 DEF_ASM(call)
160 DEF_ASM(jmp)
161 DEF_ASM(lcall)
162 DEF_ASM(ljmp)
164 DEF_ASMTEST(j)
166 DEF_ASMTEST(set)
167 DEF_ASMTEST(cmov)
169 DEF_WLQ(bsf)
170 DEF_WLQ(bsr)
171 DEF_WLQ(bt)
172 DEF_WLQ(bts)
173 DEF_WLQ(btr)
174 DEF_WLQ(btc)
176 DEF_WLQ(lsl)
178 /* generic FP ops */
179 DEF_FP(add)
180 DEF_FP(mul)
182 DEF_ASM(fcom)
183 DEF_ASM(fcom_1) /* non existant op, just to have a regular table */
184 DEF_FP1(com)
186 DEF_FP(comp)
187 DEF_FP(sub)
188 DEF_FP(subr)
189 DEF_FP(div)
190 DEF_FP(divr)
192 DEF_BWLQ(xadd)
193 DEF_BWLQ(cmpxchg)
195 /* string ops */
196 DEF_BWLQ(cmps)
197 DEF_BWLQ(scmp)
198 DEF_BWL(ins)
199 DEF_BWL(outs)
200 DEF_BWLQ(lods)
201 DEF_BWLQ(slod)
202 DEF_BWLQ(movs)
203 DEF_BWLQ(smov)
204 DEF_BWLQ(scas)
205 DEF_BWLQ(ssca)
206 DEF_BWLQ(stos)
207 DEF_BWLQ(ssto)
209 /* generic asm ops */
211 #define ALT(x)
212 #define DEF_ASM_OP0(name, opcode) DEF_ASM(name)
213 #define DEF_ASM_OP0L(name, opcode, group, instr_type)
214 #define DEF_ASM_OP1(name, opcode, group, instr_type, op0)
215 #define DEF_ASM_OP2(name, opcode, group, instr_type, op0, op1)
216 #define DEF_ASM_OP3(name, opcode, group, instr_type, op0, op1, op2)
217 #include "x86_64-asm.h"
219 #define ALT(x)
220 #define DEF_ASM_OP0(name, opcode)
221 #define DEF_ASM_OP0L(name, opcode, group, instr_type) DEF_ASM(name)
222 #define DEF_ASM_OP1(name, opcode, group, instr_type, op0) DEF_ASM(name)
223 #define DEF_ASM_OP2(name, opcode, group, instr_type, op0, op1) DEF_ASM(name)
224 #define DEF_ASM_OP3(name, opcode, group, instr_type, op0, op1, op2) DEF_ASM(name)
225 #include "x86_64-asm.h"