Subversion Repositories Kolibri OS

Rev

Rev 647 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 647 Rev 6429
Line 57... Line 57...
57
     DEF(TOK_LABEL, "__label__")
57
     DEF(TOK_LABEL, "__label__")
58
     DEF(TOK_ASM1, "asm")
58
     DEF(TOK_ASM1, "asm")
59
     DEF(TOK_ASM2, "__asm")
59
     DEF(TOK_ASM2, "__asm")
60
     DEF(TOK_ASM3, "__asm__")
60
     DEF(TOK_ASM3, "__asm__")
Line -... Line 61...
-
 
61
 
-
 
62
#ifdef TCC_TARGET_ARM64
-
 
63
     DEF(TOK_UINT128, "__uint128_t")
-
 
64
#endif
61
 
65
 
62
/*********************************************************************/
66
/*********************************************************************/
63
/* the following are not keywords. They are included to ease parsing */
67
/* the following are not keywords. They are included to ease parsing */
64
/* preprocessor only */
68
/* preprocessor only */
65
     DEF(TOK_DEFINE, "define")
69
     DEF(TOK_DEFINE, "define")
Line 83... Line 87...
83
     DEF(TOK___VA_ARGS__, "__VA_ARGS__")
87
     DEF(TOK___VA_ARGS__, "__VA_ARGS__")
Line 84... Line 88...
84
     
88
 
85
/* special identifiers */
89
/* special identifiers */
Line -... Line 90...
-
 
90
     DEF(TOK___FUNC__, "__func__")
-
 
91
 
-
 
92
/* special floating point values */
-
 
93
     DEF(TOK___NAN__, "__nan__")
-
 
94
     DEF(TOK___SNAN__, "__snan__")
86
     DEF(TOK___FUNC__, "__func__")
95
     DEF(TOK___INF__, "__inf__")
87
     
96
 
88
/* attribute identifiers */
97
/* attribute identifiers */
89
/* XXX: handle all tokens generically since speed is not critical */
98
/* XXX: handle all tokens generically since speed is not critical */
90
     DEF(TOK_SECTION1, "section")
99
     DEF(TOK_SECTION1, "section")
91
     DEF(TOK_SECTION2, "__section__")
100
     DEF(TOK_SECTION2, "__section__")
92
     DEF(TOK_ALIGNED1, "aligned")
101
     DEF(TOK_ALIGNED1, "aligned")
93
     DEF(TOK_ALIGNED2, "__aligned__")
102
     DEF(TOK_ALIGNED2, "__aligned__")
-
 
103
     DEF(TOK_PACKED1, "packed")
-
 
104
     DEF(TOK_PACKED2, "__packed__")
-
 
105
     DEF(TOK_WEAK1, "weak")
-
 
106
     DEF(TOK_WEAK2, "__weak__")
94
     DEF(TOK_PACKED1, "packed")
107
     DEF(TOK_ALIAS1, "alias")
95
     DEF(TOK_PACKED2, "__packed__")
108
     DEF(TOK_ALIAS2, "__alias__")
96
     DEF(TOK_UNUSED1, "unused")
109
     DEF(TOK_UNUSED1, "unused")
97
     DEF(TOK_UNUSED2, "__unused__")
110
     DEF(TOK_UNUSED2, "__unused__")
98
     DEF(TOK_CDECL1, "cdecl")
111
     DEF(TOK_CDECL1, "cdecl")
99
     DEF(TOK_CDECL2, "__cdecl")
112
     DEF(TOK_CDECL2, "__cdecl")
100
     DEF(TOK_CDECL3, "__cdecl__")
113
     DEF(TOK_CDECL3, "__cdecl__")
101
     DEF(TOK_STDCALL1, "stdcall")
114
     DEF(TOK_STDCALL1, "stdcall")
-
 
115
     DEF(TOK_STDCALL2, "__stdcall")
-
 
116
     DEF(TOK_STDCALL3, "__stdcall__")
-
 
117
     DEF(TOK_FASTCALL1, "fastcall")
-
 
118
     DEF(TOK_FASTCALL2, "__fastcall")
-
 
119
     DEF(TOK_FASTCALL3, "__fastcall__")
-
 
120
     DEF(TOK_MODE, "__mode__")
-
 
121
     DEF(TOK_MODE_DI, "__DI__")
102
     DEF(TOK_STDCALL2, "__stdcall")
122
     DEF(TOK_MODE_HI, "__HI__")
-
 
123
     DEF(TOK_MODE_SI, "__SI__")
103
     DEF(TOK_STDCALL3, "__stdcall__")
124
     DEF(TOK_DLLEXPORT, "dllexport")
104
     DEF(TOK_DLLEXPORT, "dllexport")
125
     DEF(TOK_DLLIMPORT, "dllimport")
-
 
126
     DEF(TOK_NORETURN1, "noreturn")
-
 
127
     DEF(TOK_NORETURN2, "__noreturn__")
105
     DEF(TOK_NORETURN1, "noreturn")
128
     DEF(TOK_VISIBILITY1, "visibility")
106
     DEF(TOK_NORETURN2, "__noreturn__")
129
     DEF(TOK_VISIBILITY2, "__visibility__")
-
 
130
     DEF(TOK_builtin_types_compatible_p, "__builtin_types_compatible_p")
-
 
131
     DEF(TOK_builtin_constant_p, "__builtin_constant_p")
-
 
132
     DEF(TOK_builtin_frame_address, "__builtin_frame_address")
-
 
133
     DEF(TOK_builtin_return_address, "__builtin_return_address")
-
 
134
     DEF(TOK_builtin_expect, "__builtin_expect")
-
 
135
#ifdef TCC_TARGET_X86_64
-
 
136
#ifdef TCC_TARGET_PE
-
 
137
     DEF(TOK_builtin_va_start, "__builtin_va_start")
-
 
138
#else
-
 
139
     DEF(TOK_builtin_va_arg_types, "__builtin_va_arg_types")
107
     DEF(TOK_builtin_types_compatible_p, "__builtin_types_compatible_p")
140
#endif
108
     DEF(TOK_builtin_constant_p, "__builtin_constant_p")
141
#endif
Line -... Line 142...
-
 
142
     DEF(TOK_REGPARM1, "regparm")
-
 
143
     DEF(TOK_REGPARM2, "__regparm__")
-
 
144
 
-
 
145
#ifdef TCC_TARGET_ARM64
-
 
146
     DEF(TOK___va_start, "__va_start")
109
     DEF(TOK_REGPARM1, "regparm")
147
     DEF(TOK___va_arg, "__va_arg")
110
     DEF(TOK_REGPARM2, "__regparm__")
148
#endif
111
 
149
 
112
/* pragma */
150
/* pragma */
113
     DEF(TOK_pack, "pack")
151
     DEF(TOK_pack, "pack")
114
#if !defined(TCC_TARGET_I386)
152
#if !defined(TCC_TARGET_I386) && !defined(TCC_TARGET_X86_64)
115
     /* already defined for assembler */
153
     /* already defined for assembler */
-
 
154
     DEF(TOK_ASM_push, "push")
-
 
155
     DEF(TOK_ASM_pop, "pop")
-
 
156
#endif
-
 
157
     DEF(TOK_comment, "comment")
-
 
158
     DEF(TOK_lib, "lib")
Line 116... Line 159...
116
     DEF(TOK_ASM_push, "push")
159
     DEF(TOK_push_macro, "push_macro")
-
 
160
     DEF(TOK_pop_macro, "pop_macro")
117
     DEF(TOK_ASM_pop, "pop")
161
     DEF(TOK_once, "once")
-
 
162
 
118
#endif
163
/* builtin functions or variables */
119
 
-
 
120
/* builtin functions or variables */
164
#ifndef TCC_ARM_EABI
121
     DEF(TOK_memcpy, "memcpy")
165
     DEF(TOK_memcpy, "memcpy")
122
     DEF(TOK_memset, "memset")
166
     DEF(TOK_memmove, "memmove")
123
     DEF(TOK_alloca, "alloca")
167
     DEF(TOK_memset, "memset")
-
 
168
     DEF(TOK___divdi3, "__divdi3")
-
 
169
     DEF(TOK___moddi3, "__moddi3")
-
 
170
     DEF(TOK___udivdi3, "__udivdi3")
-
 
171
     DEF(TOK___umoddi3, "__umoddi3")
-
 
172
     DEF(TOK___ashrdi3, "__ashrdi3")
-
 
173
     DEF(TOK___lshrdi3, "__lshrdi3")
-
 
174
     DEF(TOK___ashldi3, "__ashldi3")
-
 
175
     DEF(TOK___floatundisf, "__floatundisf")
-
 
176
     DEF(TOK___floatundidf, "__floatundidf")
-
 
177
# ifndef TCC_ARM_VFP
-
 
178
     DEF(TOK___floatundixf, "__floatundixf")
-
 
179
     DEF(TOK___fixunsxfdi, "__fixunsxfdi")
-
 
180
# endif
124
     DEF(TOK___divdi3, "__divdi3")
181
     DEF(TOK___fixunssfdi, "__fixunssfdi")
-
 
182
     DEF(TOK___fixunsdfdi, "__fixunsdfdi")
-
 
183
#endif
-
 
184
 
-
 
185
#if defined TCC_TARGET_ARM
-
 
186
# ifdef TCC_ARM_EABI
-
 
187
     DEF(TOK_memcpy, "__aeabi_memcpy")
-
 
188
     DEF(TOK_memcpy4, "__aeabi_memcpy4")
-
 
189
     DEF(TOK_memcpy8, "__aeabi_memcpy8")
-
 
190
     DEF(TOK_memmove, "__aeabi_memmove")
-
 
191
     DEF(TOK_memset, "__aeabi_memset")
125
     DEF(TOK___moddi3, "__moddi3")
192
     DEF(TOK___aeabi_ldivmod, "__aeabi_ldivmod")
-
 
193
     DEF(TOK___aeabi_uldivmod, "__aeabi_uldivmod")
-
 
194
     DEF(TOK___aeabi_idivmod, "__aeabi_idivmod")
-
 
195
     DEF(TOK___aeabi_uidivmod, "__aeabi_uidivmod")
-
 
196
     DEF(TOK___divsi3, "__aeabi_idiv")
-
 
197
     DEF(TOK___udivsi3, "__aeabi_uidiv")
-
 
198
     DEF(TOK___floatdisf, "__aeabi_l2f")
-
 
199
     DEF(TOK___floatdidf, "__aeabi_l2d")
-
 
200
     DEF(TOK___fixsfdi, "__aeabi_f2lz")
-
 
201
     DEF(TOK___fixdfdi, "__aeabi_d2lz")
-
 
202
     DEF(TOK___ashrdi3, "__aeabi_lasr")
-
 
203
     DEF(TOK___lshrdi3, "__aeabi_llsr")
-
 
204
     DEF(TOK___ashldi3, "__aeabi_llsl")
-
 
205
     DEF(TOK___floatundisf, "__aeabi_ul2f")
126
     DEF(TOK___udivdi3, "__udivdi3")
206
     DEF(TOK___floatundidf, "__aeabi_ul2d")
127
     DEF(TOK___umoddi3, "__umoddi3")
-
 
128
#if defined(TCC_TARGET_ARM)
207
     DEF(TOK___fixunssfdi, "__aeabi_f2ulz")
129
     DEF(TOK___divsi3, "__divsi3")
208
     DEF(TOK___fixunsdfdi, "__aeabi_d2ulz")
130
     DEF(TOK___modsi3, "__modsi3")
209
# else
131
     DEF(TOK___udivsi3, "__udivsi3")
210
     DEF(TOK___modsi3, "__modsi3")
132
     DEF(TOK___umodsi3, "__umodsi3")
211
     DEF(TOK___umodsi3, "__umodsi3")
-
 
212
     DEF(TOK___divsi3, "__divsi3")
-
 
213
     DEF(TOK___udivsi3, "__udivsi3")
133
     DEF(TOK___sardi3, "__ashrdi3")
214
     DEF(TOK___floatdisf, "__floatdisf")
134
     DEF(TOK___shrdi3, "__lshrdi3")
215
     DEF(TOK___floatdidf, "__floatdidf")
135
     DEF(TOK___shldi3, "__ashldi3")
216
#  ifndef TCC_ARM_VFP
-
 
217
     DEF(TOK___floatdixf, "__floatdixf")
-
 
218
     DEF(TOK___fixunssfsi, "__fixunssfsi")
136
     DEF(TOK___slltold, "__slltold")
219
     DEF(TOK___fixunsdfsi, "__fixunsdfsi")
137
     DEF(TOK___fixunssfsi, "__fixunssfsi")
220
     DEF(TOK___fixunsxfsi, "__fixunsxfsi")
138
     DEF(TOK___fixunsdfsi, "__fixunsdfsi")
221
     DEF(TOK___fixxfdi, "__fixxfdi")
-
 
222
#  endif
-
 
223
     DEF(TOK___fixsfdi, "__fixsfdi")
139
     DEF(TOK___fixunsxfsi, "__fixunsxfsi")
224
     DEF(TOK___fixdfdi, "__fixdfdi")
140
     DEF(TOK___fixsfdi, "__fixsfdi")
225
# endif
141
     DEF(TOK___fixdfdi, "__fixdfdi")
226
#endif
142
     DEF(TOK___fixxfdi, "__fixxfdi")
227
 
143
#elif defined(TCC_TARGET_C67)
228
#if defined TCC_TARGET_C67
144
     DEF(TOK__divi, "_divi")
229
     DEF(TOK__divi, "_divi")
145
     DEF(TOK__divu, "_divu")
230
     DEF(TOK__divu, "_divu")
-
 
231
     DEF(TOK__divf, "_divf")
-
 
232
     DEF(TOK__divd, "_divd")
-
 
233
     DEF(TOK__remi, "_remi")
146
     DEF(TOK__divf, "_divf")
234
     DEF(TOK__remu, "_remu")
147
     DEF(TOK__divd, "_divd")
235
#endif
148
     DEF(TOK__remi, "_remi")
236
 
149
     DEF(TOK__remu, "_remu")
237
#if defined TCC_TARGET_I386
150
     DEF(TOK___sardi3, "__sardi3")
-
 
151
     DEF(TOK___shrdi3, "__shrdi3")
238
     DEF(TOK___fixsfdi, "__fixsfdi")
152
     DEF(TOK___shldi3, "__shldi3")
239
     DEF(TOK___fixdfdi, "__fixdfdi")
153
#else
240
     DEF(TOK___fixxfdi, "__fixxfdi")
154
     /* XXX: same names on i386 ? */
241
 
155
     DEF(TOK___sardi3, "__sardi3")
-
 
-
 
242
 #ifndef COMMIT_4ad186c5ef61_IS_FIXED
156
     DEF(TOK___shrdi3, "__shrdi3")
243
     DEF(TOK___tcc_cvt_ftol, "__tcc_cvt_ftol")
157
     DEF(TOK___shldi3, "__shldi3")
-
 
158
#endif
-
 
159
     DEF(TOK___tcc_int_fpu_control, "__tcc_int_fpu_control")
244
 #endif
160
     DEF(TOK___tcc_fpu_control, "__tcc_fpu_control")
-
 
161
     DEF(TOK___ulltof, "__ulltof")
245
#endif
-
 
246
 
162
     DEF(TOK___ulltod, "__ulltod")
247
#if defined TCC_TARGET_I386 || defined TCC_TARGET_X86_64
163
     DEF(TOK___ulltold, "__ulltold")
248
     DEF(TOK_alloca, "alloca")
-
 
249
#endif
-
 
250
 
-
 
251
#if defined TCC_TARGET_PE
-
 
252
     DEF(TOK___chkstk, "__chkstk")
-
 
253
#endif
-
 
254
#ifdef TCC_TARGET_ARM64
-
 
255
     DEF(TOK___arm64_clear_cache, "__arm64_clear_cache")
-
 
256
     DEF(TOK___addtf3, "__addtf3")
-
 
257
     DEF(TOK___subtf3, "__subtf3")
-
 
258
     DEF(TOK___multf3, "__multf3")
-
 
259
     DEF(TOK___divtf3, "__divtf3")
-
 
260
     DEF(TOK___extendsftf2, "__extendsftf2")
-
 
261
     DEF(TOK___extenddftf2, "__extenddftf2")
-
 
262
     DEF(TOK___trunctfsf2, "__trunctfsf2")
-
 
263
     DEF(TOK___trunctfdf2, "__trunctfdf2")
-
 
264
     DEF(TOK___fixtfsi, "__fixtfsi")
-
 
265
     DEF(TOK___fixtfdi, "__fixtfdi")
-
 
266
     DEF(TOK___fixunstfsi, "__fixunstfsi")
-
 
267
     DEF(TOK___fixunstfdi, "__fixunstfdi")
-
 
268
     DEF(TOK___floatsitf, "__floatsitf")
-
 
269
     DEF(TOK___floatditf, "__floatditf")
-
 
270
     DEF(TOK___floatunsitf, "__floatunsitf")
-
 
271
     DEF(TOK___floatunditf, "__floatunditf")
-
 
272
     DEF(TOK___eqtf2, "__eqtf2")
-
 
273
     DEF(TOK___netf2, "__netf2")
-
 
274
     DEF(TOK___lttf2, "__lttf2")
Line 164... Line 275...
164
     DEF(TOK___fixunssfdi, "__fixunssfdi")
275
     DEF(TOK___letf2, "__letf2")
165
     DEF(TOK___fixunsdfdi, "__fixunsdfdi")
276
     DEF(TOK___gttf2, "__gttf2")
166
     DEF(TOK___fixunsxfdi, "__fixunsxfdi")
277
     DEF(TOK___getf2, "__getf2")
167
     DEF(TOK___chkstk, "__chkstk")
278
#endif
168
 
279
 
169
/* bound checking symbols */
280
/* bound checking symbols */
170
#ifdef CONFIG_TCC_BCHECK
281
#ifdef CONFIG_TCC_BCHECK
171
     DEF(TOK___bound_ptr_add, "__bound_ptr_add")
282
     DEF(TOK___bound_ptr_add, "__bound_ptr_add")
172
     DEF(TOK___bound_ptr_indir1, "__bound_ptr_indir1")
283
     DEF(TOK___bound_ptr_indir1, "__bound_ptr_indir1")
-
 
284
     DEF(TOK___bound_ptr_indir2, "__bound_ptr_indir2")
173
     DEF(TOK___bound_ptr_indir2, "__bound_ptr_indir2")
285
     DEF(TOK___bound_ptr_indir4, "__bound_ptr_indir4")
174
     DEF(TOK___bound_ptr_indir4, "__bound_ptr_indir4")
286
     DEF(TOK___bound_ptr_indir8, "__bound_ptr_indir8")
-
 
287
     DEF(TOK___bound_ptr_indir12, "__bound_ptr_indir12")
-
 
288
     DEF(TOK___bound_ptr_indir16, "__bound_ptr_indir16")
175
     DEF(TOK___bound_ptr_indir8, "__bound_ptr_indir8")
289
     DEF(TOK___bound_main_arg, "__bound_main_arg")
176
     DEF(TOK___bound_ptr_indir12, "__bound_ptr_indir12")
290
     DEF(TOK___bound_local_new, "__bound_local_new")
177
     DEF(TOK___bound_ptr_indir16, "__bound_ptr_indir16")
291
     DEF(TOK___bound_local_delete, "__bound_local_delete")
178
     DEF(TOK___bound_local_new, "__bound_local_new")
292
     DEF(TOK___bound_init, "__bound_init")
179
     DEF(TOK___bound_local_delete, "__bound_local_delete")
293
# ifdef TCC_TARGET_PE
180
     DEF(TOK_malloc, "malloc")
294
     DEF(TOK_malloc, "malloc")
181
     DEF(TOK_free, "free")
295
     DEF(TOK_free, "free")
182
     DEF(TOK_realloc, "realloc")
296
     DEF(TOK_realloc, "realloc")
183
     DEF(TOK_memalign, "memalign")
297
     DEF(TOK_memalign, "memalign")
Line 184... Line 298...
184
     DEF(TOK_calloc, "calloc")
298
     DEF(TOK_calloc, "calloc")
-
 
299
# endif
-
 
300
     DEF(TOK_strlen, "strlen")
-
 
301
     DEF(TOK_strcpy, "strcpy")
-
 
302
#endif
-
 
303
 
-
 
304
/* Tiny Assembler */
-
 
305
 DEF_ASMDIR(byte)              /* must be first directive */
-
 
306
 DEF_ASMDIR(word)
-
 
307
 DEF_ASMDIR(align)
-
 
308
 DEF_ASMDIR(p2align)
-
 
309
 DEF_ASMDIR(skip)
-
 
310
 DEF_ASMDIR(space)
-
 
311
 DEF_ASMDIR(string)
-
 
312
 DEF_ASMDIR(asciz)
-
 
313
 DEF_ASMDIR(ascii)
-
 
314
 DEF_ASMDIR(file)
-
 
315
 DEF_ASMDIR(globl)
-
 
316
 DEF_ASMDIR(global)
-
 
317
 DEF_ASMDIR(weak)
-
 
318
 DEF_ASMDIR(hidden)
-
 
319
 DEF_ASMDIR(ident)
-
 
320
 DEF_ASMDIR(size)
-
 
321
 DEF_ASMDIR(type)
-
 
322
 DEF_ASMDIR(text)
-
 
323
 DEF_ASMDIR(data)
-
 
324
 DEF_ASMDIR(bss)
-
 
325
 DEF_ASMDIR(previous)
-
 
326
 DEF_ASMDIR(fill)
-
 
327
 DEF_ASMDIR(rept)
-
 
328
 DEF_ASMDIR(endr)
-
 
329
 DEF_ASMDIR(org)
-
 
330
 DEF_ASMDIR(quad)
-
 
331
#if defined(TCC_TARGET_I386)
-
 
332
 DEF_ASMDIR(code16)
-
 
333
 DEF_ASMDIR(code32)
-
 
334
#elif defined(TCC_TARGET_X86_64)
Line 185... Line -...
185
     DEF(TOK_memmove, "memmove")
-
 
186
     DEF(TOK_strlen, "strlen")
-
 
187
     DEF(TOK_strcpy, "strcpy")
-
 
188
#endif
-
 
189
 
-
 
190
/* Tiny Assembler */
-
 
191
 
-
 
192
 DEF_ASM(byte)
-
 
193
 DEF_ASM(align)
-
 
194
 DEF_ASM(skip)
-
 
195
 DEF_ASM(space)
-
 
196
 DEF_ASM(string)
-
 
197
 DEF_ASM(asciz)
-
 
198
 DEF_ASM(ascii)
-
 
199
 DEF_ASM(globl)
-
 
200
 DEF_ASM(global)
-
 
201
 DEF_ASM(text)
-
 
202
 DEF_ASM(data)
-
 
203
 DEF_ASM(bss)
-
 
204
 DEF_ASM(previous)
-
 
205
 DEF_ASM(fill)
-
 
206
 DEF_ASM(org)
-
 
207
 DEF_ASM(quad)
-
 
208
 
-
 
209
#ifdef TCC_TARGET_I386
-
 
210
 
-
 
211
/* WARNING: relative order of tokens is important. */
-
 
212
 DEF_ASM(al)
-
 
213
 DEF_ASM(cl)
-
 
214
 DEF_ASM(dl)
-
 
215
 DEF_ASM(bl)
-
 
216
 DEF_ASM(ah)
-
 
217
 DEF_ASM(ch)
-
 
218
 DEF_ASM(dh)
-
 
219
 DEF_ASM(bh)
-
 
220
 DEF_ASM(ax)
-
 
221
 DEF_ASM(cx)
-
 
222
 DEF_ASM(dx)
-
 
223
 DEF_ASM(bx)
-
 
224
 DEF_ASM(sp)
-
 
225
 DEF_ASM(bp)
-
 
226
 DEF_ASM(si)
-
 
227
 DEF_ASM(di)
-
 
228
 DEF_ASM(eax)
-
 
229
 DEF_ASM(ecx)
-
 
230
 DEF_ASM(edx)
-
 
231
 DEF_ASM(ebx)
-
 
232
 DEF_ASM(esp)
-
 
233
 DEF_ASM(ebp)
-
 
234
 DEF_ASM(esi)
-
 
235
 DEF_ASM(edi)
-
 
236
 DEF_ASM(mm0)
-
 
237
 DEF_ASM(mm1)
-
 
238
 DEF_ASM(mm2)
-
 
239
 DEF_ASM(mm3)
-
 
240
 DEF_ASM(mm4)
-
 
241
 DEF_ASM(mm5)
-
 
242
 DEF_ASM(mm6)
-
 
243
 DEF_ASM(mm7)
-
 
244
 DEF_ASM(xmm0)
-
 
245
 DEF_ASM(xmm1)
-
 
246
 DEF_ASM(xmm2)
-
 
247
 DEF_ASM(xmm3)
-
 
248
 DEF_ASM(xmm4)
-
 
249
 DEF_ASM(xmm5)
-
 
250
 DEF_ASM(xmm6)
-
 
251
 DEF_ASM(xmm7)
-
 
252
 DEF_ASM(cr0)
-
 
253
 DEF_ASM(cr1)
-
 
254
 DEF_ASM(cr2)
-
 
255
 DEF_ASM(cr3)
-
 
256
 DEF_ASM(cr4)
-
 
257
 DEF_ASM(cr5)
-
 
258
 DEF_ASM(cr6)
-
 
259
 DEF_ASM(cr7)
-
 
260
 DEF_ASM(tr0)
-
 
261
 DEF_ASM(tr1)
-
 
262
 DEF_ASM(tr2)
-
 
263
 DEF_ASM(tr3)
-
 
264
 DEF_ASM(tr4)
-
 
265
 DEF_ASM(tr5)
-
 
266
 DEF_ASM(tr6)
-
 
267
 DEF_ASM(tr7)
-
 
268
 DEF_ASM(db0)
-
 
269
 DEF_ASM(db1)
-
 
270
 DEF_ASM(db2)
-
 
271
 DEF_ASM(db3)
-
 
272
 DEF_ASM(db4)
-
 
273
 DEF_ASM(db5)
-
 
274
 DEF_ASM(db6)
-
 
275
 DEF_ASM(db7)
-
 
276
 DEF_ASM(dr0)
-
 
277
 DEF_ASM(dr1)
-
 
278
 DEF_ASM(dr2)
-
 
279
 DEF_ASM(dr3)
-
 
280
 DEF_ASM(dr4)
-
 
281
 DEF_ASM(dr5)
-
 
282
 DEF_ASM(dr6)
-
 
283
 DEF_ASM(dr7)
-
 
284
 DEF_ASM(es)
-
 
285
 DEF_ASM(cs)
-
 
286
 DEF_ASM(ss)
-
 
287
 DEF_ASM(ds)
-
 
288
 DEF_ASM(fs)
-
 
289
 DEF_ASM(gs)
-
 
290
 DEF_ASM(st)
-
 
291
 
-
 
292
 DEF_BWL(mov)
-
 
293
 
-
 
294
 /* generic two operands */
-
 
295
 DEF_BWL(add)
-
 
296
 DEF_BWL(or)
-
 
297
 DEF_BWL(adc)
-
 
298
 DEF_BWL(sbb)
-
 
299
 DEF_BWL(and)
-
 
300
 DEF_BWL(sub)
-
 
301
 DEF_BWL(xor)
-
 
302
 DEF_BWL(cmp)
-
 
303
 
-
 
304
 /* unary ops */
-
 
305
 DEF_BWL(inc)
-
 
306
 DEF_BWL(dec)
-
 
307
 DEF_BWL(not)
-
 
308
 DEF_BWL(neg)
-
 
309
 DEF_BWL(mul)
-
 
310
 DEF_BWL(imul)
-
 
311
 DEF_BWL(div)
-
 
312
 DEF_BWL(idiv)
-
 
313
 
-
 
314
 DEF_BWL(xchg)
-
 
315
 DEF_BWL(test)
-
 
316
 
-
 
317
 /* shifts */
-
 
318
 DEF_BWL(rol)
-
 
319
 DEF_BWL(ror)
-
 
320
 DEF_BWL(rcl)
-
 
321
 DEF_BWL(rcr)
-
 
322
 DEF_BWL(shl)
-
 
323
 DEF_BWL(shr)
-
 
324
 DEF_BWL(sar)
-
 
325
 
-
 
326
 DEF_ASM(shldw)
-
 
327
 DEF_ASM(shldl)
-
 
328
 DEF_ASM(shld)
-
 
329
 DEF_ASM(shrdw)
-
 
330
 DEF_ASM(shrdl)
-
 
331
 DEF_ASM(shrd)
-
 
332
 
-
 
333
 DEF_ASM(pushw)
-
 
334
 DEF_ASM(pushl)
-
 
335
 DEF_ASM(push)
-
 
336
 DEF_ASM(popw)
-
 
337
 DEF_ASM(popl)
-
 
338
 DEF_ASM(pop)
-
 
339
 DEF_BWL(in)
-
 
340
 DEF_BWL(out)
-
 
341
 
-
 
342
 DEF_WL(movzb)
-
 
343
 
-
 
344
 DEF_ASM(movzwl)
-
 
345
 DEF_ASM(movsbw)
-
 
346
 DEF_ASM(movsbl)
-
 
347
 DEF_ASM(movswl)
-
 
348
 
-
 
349
 DEF_WL(lea) 
-
 
350
 
-
 
351
 DEF_ASM(les) 
-
 
352
 DEF_ASM(lds) 
-
 
353
 DEF_ASM(lss) 
-
 
354
 DEF_ASM(lfs) 
-
 
355
 DEF_ASM(lgs) 
-
 
356
 
-
 
357
 DEF_ASM(call)
-
 
358
 DEF_ASM(jmp)
-
 
359
 DEF_ASM(lcall)
-
 
360
 DEF_ASM(ljmp)
-
 
361
 
-
 
362
 DEF_ASMTEST(j)
-
 
363
 
-
 
364
 DEF_ASMTEST(set)
-
 
365
 DEF_ASMTEST(cmov)
-
 
366
 
-
 
367
 DEF_WL(bsf)
-
 
368
 DEF_WL(bsr)
-
 
369
 DEF_WL(bt)
-
 
370
 DEF_WL(bts)
-
 
371
 DEF_WL(btr)
-
 
372
 DEF_WL(btc)
-
 
373
 
-
 
374
 DEF_WL(lsl)
-
 
375
 
-
 
376
 /* generic FP ops */
-
 
377
 DEF_FP(add)
-
 
378
 DEF_FP(mul)
-
 
379
 
-
 
380
 DEF_ASM(fcom)
-
 
381
 DEF_ASM(fcom_1) /* non existant op, just to have a regular table */
-
 
382
 DEF_FP1(com)
-
 
383
 
-
 
384
 DEF_FP(comp)
-
 
385
 DEF_FP(sub)
-
 
386
 DEF_FP(subr)
-
 
387
 DEF_FP(div)
-
 
388
 DEF_FP(divr)
-
 
389
 
-
 
390
 DEF_BWL(xadd)
-
 
391
 DEF_BWL(cmpxchg)
-
 
392
 
-
 
393
 /* string ops */
-
 
394
 DEF_BWL(cmps)
-
 
395
 DEF_BWL(scmp)
-
 
396
 DEF_BWL(ins)
-
 
397
 DEF_BWL(outs)
-
 
398
 DEF_BWL(lods)
-
 
399
 DEF_BWL(slod)
-
 
400
 DEF_BWL(movs)
-
 
401
 DEF_BWL(smov)
-
 
402
 DEF_BWL(scas)
-
 
403
 DEF_BWL(ssca)
335
 DEF_ASMDIR(code64)
404
 DEF_BWL(stos)
-
 
405
 DEF_BWL(ssto)
-
 
406
 
-
 
407
 /* generic asm ops */
-
 
408
 
-
 
409
#define ALT(x)
-
 
410
#define DEF_ASM_OP0(name, opcode) DEF_ASM(name)
-
 
411
#define DEF_ASM_OP0L(name, opcode, group, instr_type)
-
 
412
#define DEF_ASM_OP1(name, opcode, group, instr_type, op0)
-
 
413
#define DEF_ASM_OP2(name, opcode, group, instr_type, op0, op1)
-
 
414
#define DEF_ASM_OP3(name, opcode, group, instr_type, op0, op1, op2)
-
 
415
#include "i386-asm.h"
-
 
416
 
336
#endif
417
#define ALT(x)
-
 
418
#define DEF_ASM_OP0(name, opcode)
337
 DEF_ASMDIR(short)