Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /MLRISC/trunk/amd64/instructions/amd64Instr.sml
ViewVC logotype

Annotation of /MLRISC/trunk/amd64/instructions/amd64Instr.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2805 - (view) (download)

1 : mrainey 2619 (*
2 :     * WARNING: This file was automatically generated by MDLGen (v3.0)
3 :     * from the machine description file "amd64/amd64.mdl".
4 :     * DO NOT EDIT this file directly
5 :     *)
6 :    
7 :    
8 :     signature AMD64INSTR =
9 :     sig
10 :     structure C : AMD64CELLS
11 :     structure CB : CELLS_BASIS = CellsBasis
12 :     structure T : MLTREE
13 :     structure Constant: CONSTANT
14 :     structure Region : REGION
15 :     sharing Constant = T.Constant
16 :     sharing Region = T.Region
17 :     datatype operand =
18 :     Immed of Int32.int
19 :     | ImmedLabel of T.labexp
20 :     | Relative of int
21 :     | LabelEA of T.labexp
22 :     | Direct of int * (CellsBasis.cell)
23 :     | FDirect of CellsBasis.cell
24 :     | Displace of {base:CellsBasis.cell, disp:operand, mem:Region.region}
25 :     | Indexed of {base:(CellsBasis.cell) option, index:CellsBasis.cell, scale:int,
26 :     disp:operand, mem:Region.region}
27 :     type addressing_mode = operand
28 :     type ea = operand
29 :     datatype cond =
30 :     EQ
31 :     | NE
32 :     | LT
33 :     | LE
34 :     | GT
35 :     | GE
36 :     | B
37 :     | BE
38 :     | A
39 :     | AE
40 :     | C
41 :     | NC
42 :     | P
43 :     | NP
44 :     | O
45 :     | NO
46 :     datatype binaryOp =
47 :     ADDQ
48 :     | SUBQ
49 :     | ANDQ
50 :     | ORQ
51 :     | XORQ
52 :     | SHLQ
53 :     | SARQ
54 :     | SHRQ
55 :     | MULQ
56 :     | IMULQ
57 :     | ADCQ
58 :     | SBBQ
59 :     | ADDL
60 :     | SUBL
61 :     | ANDL
62 :     | ORL
63 :     | XORL
64 :     | SHLL
65 :     | SARL
66 :     | SHRL
67 :     | MULL
68 :     | IMULL
69 :     | ADCL
70 :     | SBBL
71 :     | ADDW
72 :     | SUBW
73 :     | ANDW
74 :     | ORW
75 :     | XORW
76 :     | SHLW
77 :     | SARW
78 :     | SHRW
79 :     | MULW
80 :     | IMULW
81 :     | ADDB
82 :     | SUBB
83 :     | ANDB
84 :     | ORB
85 :     | XORB
86 :     | SHLB
87 :     | SARB
88 :     | SHRB
89 :     | MULB
90 :     | IMULB
91 :     | BTSW
92 :     | BTCW
93 :     | BTRW
94 :     | BTSL
95 :     | BTCL
96 :     | BTRL
97 :     | ROLW
98 :     | RORW
99 :     | ROLL
100 :     | RORL
101 :     | XCHGB
102 :     | XCHGW
103 :     | XCHGL
104 :     | LOCK_ADCW
105 :     | LOCK_ADCL
106 :     | LOCK_ADDW
107 :     | LOCK_ADDL
108 :     | LOCK_ANDW
109 :     | LOCK_ANDL
110 :     | LOCK_BTSW
111 :     | LOCK_BTSL
112 :     | LOCK_BTRW
113 :     | LOCK_BTRL
114 :     | LOCK_BTCW
115 :     | LOCK_BTCL
116 :     | LOCK_ORW
117 :     | LOCK_ORL
118 :     | LOCK_SBBW
119 :     | LOCK_SBBL
120 :     | LOCK_SUBW
121 :     | LOCK_SUBL
122 :     | LOCK_XORW
123 :     | LOCK_XORL
124 :     | LOCK_XADDB
125 :     | LOCK_XADDW
126 :     | LOCK_XADDL
127 :     datatype multDivOp =
128 :     IMULL1
129 :     | MULL1
130 :     | IDIVL1
131 :     | DIVL1
132 :     | IMULQ1
133 :     | MULQ1
134 :     | IDIVQ1
135 :     | DIVQ1
136 :     datatype unaryOp =
137 :     DECQ
138 :     | INCQ
139 :     | NEGQ
140 :     | NOTQ
141 :     | DECL
142 :     | INCL
143 :     | NEGL
144 :     | NOTL
145 :     | DECW
146 :     | INCW
147 :     | NEGW
148 :     | NOTW
149 :     | DECB
150 :     | INCB
151 :     | NEGB
152 :     | NOTB
153 :     | LOCK_DECQ
154 :     | LOCK_INCQ
155 :     | LOCK_NEGQ
156 :     | LOCK_NOTQ
157 :     datatype shiftOp =
158 :     SHLDL
159 :     | SHRDL
160 :     datatype bitOp =
161 :     BTW
162 :     | BTL
163 :     | BTQ
164 :     | LOCK_BTW
165 :     | LOCK_BTL
166 :     datatype move =
167 :     MOVQ
168 :     | MOVL
169 :     | MOVB
170 :     | MOVW
171 : mrainey 2776 | MOVABSQ
172 : mrainey 2619 | MOVSWQ
173 :     | MOVZWQ
174 :     | MOVSWL
175 :     | MOVZWL
176 :     | MOVSBQ
177 :     | MOVZBQ
178 :     | MOVSBL
179 :     | MOVZBL
180 :     | MOVSLQ
181 :     datatype fbin_op =
182 :     ADDSS
183 :     | ADDSD
184 :     | SUBSS
185 :     | SUBSD
186 :     | MULSS
187 :     | MULSD
188 :     | DIVSS
189 :     | DIVSD
190 :     datatype fcom_op =
191 :     COMISS
192 :     | COMISD
193 :     | UCOMISS
194 :     | UCOMISD
195 :     datatype fmove_op =
196 :     MOVSS
197 :     | MOVSD
198 :     | CVTSS2SD
199 :     | CVTSD2SS
200 :     | CVTSS2SI
201 :     | CVTSS2SIQ
202 :     | CVTSD2SI
203 :     | CVTSD2SIQ
204 :     | CVTSI2SS
205 :     | CVTSI2SSQ
206 :     | CVTSI2SD
207 :     | CVTSI2SDQ
208 :     datatype fsize =
209 :     FP32
210 :     | FP64
211 :     datatype isize =
212 :     I8
213 :     | I16
214 :     | I32
215 :     | I64
216 :     datatype instr =
217 :     NOP
218 :     | JMP of operand * Label.label list
219 :     | JCC of {cond:cond, opnd:operand}
220 :     | CALL of {opnd:operand, defs:C.cellset, uses:C.cellset, return:C.cellset,
221 :     cutsTo:Label.label list, mem:Region.region, pops:Int32.int}
222 :     | CALLQ of {opnd:operand, defs:C.cellset, uses:C.cellset, return:C.cellset,
223 :     cutsTo:Label.label list, mem:Region.region, pops:Int32.int}
224 :     | ENTER of {src1:operand, src2:operand}
225 :     | LEAVE
226 :     | RET of operand option
227 :     | MOVE of {mvOp:move, src:operand, dst:operand}
228 :     | LEAL of {r32:CellsBasis.cell, addr:operand}
229 :     | LEAQ of {r64:CellsBasis.cell, addr:operand}
230 :     | CMPQ of {lsrc:operand, rsrc:operand}
231 :     | CMPL of {lsrc:operand, rsrc:operand}
232 :     | CMPW of {lsrc:operand, rsrc:operand}
233 :     | CMPB of {lsrc:operand, rsrc:operand}
234 :     | TESTQ of {lsrc:operand, rsrc:operand}
235 :     | TESTL of {lsrc:operand, rsrc:operand}
236 :     | TESTW of {lsrc:operand, rsrc:operand}
237 :     | TESTB of {lsrc:operand, rsrc:operand}
238 :     | BITOP of {bitOp:bitOp, lsrc:operand, rsrc:operand}
239 :     | BINARY of {binOp:binaryOp, src:operand, dst:operand}
240 :     | SHIFT of {shiftOp:shiftOp, src:operand, dst:operand, count:operand}
241 :     | CMPXCHG of {lock:bool, sz:isize, src:operand, dst:operand}
242 : mrainey 2805 | XADD of {lock:bool, sz:isize, src:operand, dst:operand}
243 : mrainey 2619 | MULTDIV of {multDivOp:multDivOp, src:operand}
244 :     | MUL3 of {dst:CellsBasis.cell, src2:Int32.int, src1:operand}
245 :     | MULQ3 of {dst:CellsBasis.cell, src2:Int32.int, src1:operand}
246 :     | UNARY of {unOp:unaryOp, opnd:operand}
247 :     | SET of {cond:cond, opnd:operand}
248 :     | CMOV of {cond:cond, src:operand, dst:CellsBasis.cell}
249 :     | PUSHQ of operand
250 :     | PUSHL of operand
251 :     | PUSHW of operand
252 :     | PUSHB of operand
253 :     | PUSHFD
254 :     | POPFD
255 :     | POP of operand
256 :     | CDQ
257 :     | INTO
258 :     | FMOVE of {fmvOp:fmove_op, dst:operand, src:operand}
259 :     | FBINOP of {binOp:fbin_op, dst:CellsBasis.cell, src:CellsBasis.cell}
260 :     | FCOM of {comOp:fcom_op, dst:CellsBasis.cell, src:operand}
261 : mrainey 2638 | FSQRTS of {dst:operand, src:operand}
262 :     | FSQRTD of {dst:operand, src:operand}
263 : mrainey 2619 | SAHF
264 :     | LAHF
265 :     | SOURCE of {}
266 :     | SINK of {}
267 :     | PHI of {}
268 :     and instruction =
269 :     LIVE of {regs: C.cellset, spilled: C.cellset}
270 :     | KILL of {regs: C.cellset, spilled: C.cellset}
271 :     | COPY of {k: CellsBasis.cellkind,
272 :     sz: int, (* in bits *)
273 :     dst: CellsBasis.cell list,
274 :     src: CellsBasis.cell list,
275 :     tmp: ea option (* NONE if |dst| = {src| = 1 *)}
276 :     | ANNOTATION of {i:instruction, a:Annotations.annotation}
277 :     | INSTR of instr
278 :     val nop : instruction
279 :     val jmp : operand * Label.label list -> instruction
280 :     val jcc : {cond:cond, opnd:operand} -> instruction
281 :     val call : {opnd:operand, defs:C.cellset, uses:C.cellset, return:C.cellset,
282 :     cutsTo:Label.label list, mem:Region.region, pops:Int32.int} -> instruction
283 :     val callq : {opnd:operand, defs:C.cellset, uses:C.cellset, return:C.cellset,
284 :     cutsTo:Label.label list, mem:Region.region, pops:Int32.int} -> instruction
285 :     val enter : {src1:operand, src2:operand} -> instruction
286 :     val leave : instruction
287 :     val ret : operand option -> instruction
288 :     val move : {mvOp:move, src:operand, dst:operand} -> instruction
289 :     val leal : {r32:CellsBasis.cell, addr:operand} -> instruction
290 :     val leaq : {r64:CellsBasis.cell, addr:operand} -> instruction
291 :     val cmpq : {lsrc:operand, rsrc:operand} -> instruction
292 :     val cmpl : {lsrc:operand, rsrc:operand} -> instruction
293 :     val cmpw : {lsrc:operand, rsrc:operand} -> instruction
294 :     val cmpb : {lsrc:operand, rsrc:operand} -> instruction
295 :     val testq : {lsrc:operand, rsrc:operand} -> instruction
296 :     val testl : {lsrc:operand, rsrc:operand} -> instruction
297 :     val testw : {lsrc:operand, rsrc:operand} -> instruction
298 :     val testb : {lsrc:operand, rsrc:operand} -> instruction
299 :     val bitop : {bitOp:bitOp, lsrc:operand, rsrc:operand} -> instruction
300 :     val binary : {binOp:binaryOp, src:operand, dst:operand} -> instruction
301 :     val shift : {shiftOp:shiftOp, src:operand, dst:operand, count:operand} -> instruction
302 :     val cmpxchg : {lock:bool, sz:isize, src:operand, dst:operand} -> instruction
303 : mrainey 2805 val xadd : {lock:bool, sz:isize, src:operand, dst:operand} -> instruction
304 : mrainey 2619 val multdiv : {multDivOp:multDivOp, src:operand} -> instruction
305 :     val mul3 : {dst:CellsBasis.cell, src2:Int32.int, src1:operand} -> instruction
306 :     val mulq3 : {dst:CellsBasis.cell, src2:Int32.int, src1:operand} -> instruction
307 :     val unary : {unOp:unaryOp, opnd:operand} -> instruction
308 :     val set : {cond:cond, opnd:operand} -> instruction
309 :     val cmov : {cond:cond, src:operand, dst:CellsBasis.cell} -> instruction
310 :     val pushq : operand -> instruction
311 :     val pushl : operand -> instruction
312 :     val pushw : operand -> instruction
313 :     val pushb : operand -> instruction
314 :     val pushfd : instruction
315 :     val popfd : instruction
316 :     val pop : operand -> instruction
317 :     val cdq : instruction
318 :     val into : instruction
319 :     val fmove : {fmvOp:fmove_op, dst:operand, src:operand} -> instruction
320 :     val fbinop : {binOp:fbin_op, dst:CellsBasis.cell, src:CellsBasis.cell} -> instruction
321 :     val fcom : {comOp:fcom_op, dst:CellsBasis.cell, src:operand} -> instruction
322 : mrainey 2638 val fsqrts : {dst:operand, src:operand} -> instruction
323 :     val fsqrtd : {dst:operand, src:operand} -> instruction
324 : mrainey 2619 val sahf : instruction
325 :     val lahf : instruction
326 :     val source : {} -> instruction
327 :     val sink : {} -> instruction
328 :     val phi : {} -> instruction
329 :     end
330 :    
331 :     functor AMD64Instr(T: MLTREE
332 :     ) : AMD64INSTR =
333 :     struct
334 :     structure C = AMD64Cells
335 :     structure CB = CellsBasis
336 :     structure T = T
337 :     structure Region = T.Region
338 :     structure Constant = T.Constant
339 :     datatype operand =
340 :     Immed of Int32.int
341 :     | ImmedLabel of T.labexp
342 :     | Relative of int
343 :     | LabelEA of T.labexp
344 :     | Direct of int * (CellsBasis.cell)
345 :     | FDirect of CellsBasis.cell
346 :     | Displace of {base:CellsBasis.cell, disp:operand, mem:Region.region}
347 :     | Indexed of {base:(CellsBasis.cell) option, index:CellsBasis.cell, scale:int,
348 :     disp:operand, mem:Region.region}
349 :     type addressing_mode = operand
350 :     type ea = operand
351 :     datatype cond =
352 :     EQ
353 :     | NE
354 :     | LT
355 :     | LE
356 :     | GT
357 :     | GE
358 :     | B
359 :     | BE
360 :     | A
361 :     | AE
362 :     | C
363 :     | NC
364 :     | P
365 :     | NP
366 :     | O
367 :     | NO
368 :     datatype binaryOp =
369 :     ADDQ
370 :     | SUBQ
371 :     | ANDQ
372 :     | ORQ
373 :     | XORQ
374 :     | SHLQ
375 :     | SARQ
376 :     | SHRQ
377 :     | MULQ
378 :     | IMULQ
379 :     | ADCQ
380 :     | SBBQ
381 :     | ADDL
382 :     | SUBL
383 :     | ANDL
384 :     | ORL
385 :     | XORL
386 :     | SHLL
387 :     | SARL
388 :     | SHRL
389 :     | MULL
390 :     | IMULL
391 :     | ADCL
392 :     | SBBL
393 :     | ADDW
394 :     | SUBW
395 :     | ANDW
396 :     | ORW
397 :     | XORW
398 :     | SHLW
399 :     | SARW
400 :     | SHRW
401 :     | MULW
402 :     | IMULW
403 :     | ADDB
404 :     | SUBB
405 :     | ANDB
406 :     | ORB
407 :     | XORB
408 :     | SHLB
409 :     | SARB
410 :     | SHRB
411 :     | MULB
412 :     | IMULB
413 :     | BTSW
414 :     | BTCW
415 :     | BTRW
416 :     | BTSL
417 :     | BTCL
418 :     | BTRL
419 :     | ROLW
420 :     | RORW
421 :     | ROLL
422 :     | RORL
423 :     | XCHGB
424 :     | XCHGW
425 :     | XCHGL
426 :     | LOCK_ADCW
427 :     | LOCK_ADCL
428 :     | LOCK_ADDW
429 :     | LOCK_ADDL
430 :     | LOCK_ANDW
431 :     | LOCK_ANDL
432 :     | LOCK_BTSW
433 :     | LOCK_BTSL
434 :     | LOCK_BTRW
435 :     | LOCK_BTRL
436 :     | LOCK_BTCW
437 :     | LOCK_BTCL
438 :     | LOCK_ORW
439 :     | LOCK_ORL
440 :     | LOCK_SBBW
441 :     | LOCK_SBBL
442 :     | LOCK_SUBW
443 :     | LOCK_SUBL
444 :     | LOCK_XORW
445 :     | LOCK_XORL
446 :     | LOCK_XADDB
447 :     | LOCK_XADDW
448 :     | LOCK_XADDL
449 :     datatype multDivOp =
450 :     IMULL1
451 :     | MULL1
452 :     | IDIVL1
453 :     | DIVL1
454 :     | IMULQ1
455 :     | MULQ1
456 :     | IDIVQ1
457 :     | DIVQ1
458 :     datatype unaryOp =
459 :     DECQ
460 :     | INCQ
461 :     | NEGQ
462 :     | NOTQ
463 :     | DECL
464 :     | INCL
465 :     | NEGL
466 :     | NOTL
467 :     | DECW
468 :     | INCW
469 :     | NEGW
470 :     | NOTW
471 :     | DECB
472 :     | INCB
473 :     | NEGB
474 :     | NOTB
475 :     | LOCK_DECQ
476 :     | LOCK_INCQ
477 :     | LOCK_NEGQ
478 :     | LOCK_NOTQ
479 :     datatype shiftOp =
480 :     SHLDL
481 :     | SHRDL
482 :     datatype bitOp =
483 :     BTW
484 :     | BTL
485 :     | BTQ
486 :     | LOCK_BTW
487 :     | LOCK_BTL
488 :     datatype move =
489 :     MOVQ
490 :     | MOVL
491 :     | MOVB
492 :     | MOVW
493 : mrainey 2776 | MOVABSQ
494 : mrainey 2619 | MOVSWQ
495 :     | MOVZWQ
496 :     | MOVSWL
497 :     | MOVZWL
498 :     | MOVSBQ
499 :     | MOVZBQ
500 :     | MOVSBL
501 :     | MOVZBL
502 :     | MOVSLQ
503 :     datatype fbin_op =
504 :     ADDSS
505 :     | ADDSD
506 :     | SUBSS
507 :     | SUBSD
508 :     | MULSS
509 :     | MULSD
510 :     | DIVSS
511 :     | DIVSD
512 :     datatype fcom_op =
513 :     COMISS
514 :     | COMISD
515 :     | UCOMISS
516 :     | UCOMISD
517 :     datatype fmove_op =
518 :     MOVSS
519 :     | MOVSD
520 :     | CVTSS2SD
521 :     | CVTSD2SS
522 :     | CVTSS2SI
523 :     | CVTSS2SIQ
524 :     | CVTSD2SI
525 :     | CVTSD2SIQ
526 :     | CVTSI2SS
527 :     | CVTSI2SSQ
528 :     | CVTSI2SD
529 :     | CVTSI2SDQ
530 :     datatype fsize =
531 :     FP32
532 :     | FP64
533 :     datatype isize =
534 :     I8
535 :     | I16
536 :     | I32
537 :     | I64
538 :     datatype instr =
539 :     NOP
540 :     | JMP of operand * Label.label list
541 :     | JCC of {cond:cond, opnd:operand}
542 :     | CALL of {opnd:operand, defs:C.cellset, uses:C.cellset, return:C.cellset,
543 :     cutsTo:Label.label list, mem:Region.region, pops:Int32.int}
544 :     | CALLQ of {opnd:operand, defs:C.cellset, uses:C.cellset, return:C.cellset,
545 :     cutsTo:Label.label list, mem:Region.region, pops:Int32.int}
546 :     | ENTER of {src1:operand, src2:operand}
547 :     | LEAVE
548 :     | RET of operand option
549 :     | MOVE of {mvOp:move, src:operand, dst:operand}
550 :     | LEAL of {r32:CellsBasis.cell, addr:operand}
551 :     | LEAQ of {r64:CellsBasis.cell, addr:operand}
552 :     | CMPQ of {lsrc:operand, rsrc:operand}
553 :     | CMPL of {lsrc:operand, rsrc:operand}
554 :     | CMPW of {lsrc:operand, rsrc:operand}
555 :     | CMPB of {lsrc:operand, rsrc:operand}
556 :     | TESTQ of {lsrc:operand, rsrc:operand}
557 :     | TESTL of {lsrc:operand, rsrc:operand}
558 :     | TESTW of {lsrc:operand, rsrc:operand}
559 :     | TESTB of {lsrc:operand, rsrc:operand}
560 :     | BITOP of {bitOp:bitOp, lsrc:operand, rsrc:operand}
561 :     | BINARY of {binOp:binaryOp, src:operand, dst:operand}
562 :     | SHIFT of {shiftOp:shiftOp, src:operand, dst:operand, count:operand}
563 :     | CMPXCHG of {lock:bool, sz:isize, src:operand, dst:operand}
564 : mrainey 2805 | XADD of {lock:bool, sz:isize, src:operand, dst:operand}
565 : mrainey 2619 | MULTDIV of {multDivOp:multDivOp, src:operand}
566 :     | MUL3 of {dst:CellsBasis.cell, src2:Int32.int, src1:operand}
567 :     | MULQ3 of {dst:CellsBasis.cell, src2:Int32.int, src1:operand}
568 :     | UNARY of {unOp:unaryOp, opnd:operand}
569 :     | SET of {cond:cond, opnd:operand}
570 :     | CMOV of {cond:cond, src:operand, dst:CellsBasis.cell}
571 :     | PUSHQ of operand
572 :     | PUSHL of operand
573 :     | PUSHW of operand
574 :     | PUSHB of operand
575 :     | PUSHFD
576 :     | POPFD
577 :     | POP of operand
578 :     | CDQ
579 :     | INTO
580 :     | FMOVE of {fmvOp:fmove_op, dst:operand, src:operand}
581 :     | FBINOP of {binOp:fbin_op, dst:CellsBasis.cell, src:CellsBasis.cell}
582 :     | FCOM of {comOp:fcom_op, dst:CellsBasis.cell, src:operand}
583 : mrainey 2638 | FSQRTS of {dst:operand, src:operand}
584 :     | FSQRTD of {dst:operand, src:operand}
585 : mrainey 2619 | SAHF
586 :     | LAHF
587 :     | SOURCE of {}
588 :     | SINK of {}
589 :     | PHI of {}
590 :     and instruction =
591 :     LIVE of {regs: C.cellset, spilled: C.cellset}
592 :     | KILL of {regs: C.cellset, spilled: C.cellset}
593 :     | COPY of {k: CellsBasis.cellkind,
594 :     sz: int, (* in bits *)
595 :     dst: CellsBasis.cell list,
596 :     src: CellsBasis.cell list,
597 :     tmp: ea option (* NONE if |dst| = {src| = 1 *)}
598 :     | ANNOTATION of {i:instruction, a:Annotations.annotation}
599 :     | INSTR of instr
600 :     val nop = INSTR NOP
601 :     and jmp = INSTR o JMP
602 :     and jcc = INSTR o JCC
603 :     and call = INSTR o CALL
604 :     and callq = INSTR o CALLQ
605 :     and enter = INSTR o ENTER
606 :     and leave = INSTR LEAVE
607 :     and ret = INSTR o RET
608 :     and move = INSTR o MOVE
609 :     and leal = INSTR o LEAL
610 :     and leaq = INSTR o LEAQ
611 :     and cmpq = INSTR o CMPQ
612 :     and cmpl = INSTR o CMPL
613 :     and cmpw = INSTR o CMPW
614 :     and cmpb = INSTR o CMPB
615 :     and testq = INSTR o TESTQ
616 :     and testl = INSTR o TESTL
617 :     and testw = INSTR o TESTW
618 :     and testb = INSTR o TESTB
619 :     and bitop = INSTR o BITOP
620 :     and binary = INSTR o BINARY
621 :     and shift = INSTR o SHIFT
622 :     and cmpxchg = INSTR o CMPXCHG
623 : mrainey 2805 and xadd = INSTR o XADD
624 : mrainey 2619 and multdiv = INSTR o MULTDIV
625 :     and mul3 = INSTR o MUL3
626 :     and mulq3 = INSTR o MULQ3
627 :     and unary = INSTR o UNARY
628 :     and set = INSTR o SET
629 :     and cmov = INSTR o CMOV
630 :     and pushq = INSTR o PUSHQ
631 :     and pushl = INSTR o PUSHL
632 :     and pushw = INSTR o PUSHW
633 :     and pushb = INSTR o PUSHB
634 :     and pushfd = INSTR PUSHFD
635 :     and popfd = INSTR POPFD
636 :     and pop = INSTR o POP
637 :     and cdq = INSTR CDQ
638 :     and into = INSTR INTO
639 :     and fmove = INSTR o FMOVE
640 :     and fbinop = INSTR o FBINOP
641 :     and fcom = INSTR o FCOM
642 : mrainey 2638 and fsqrts = INSTR o FSQRTS
643 :     and fsqrtd = INSTR o FSQRTD
644 : mrainey 2619 and sahf = INSTR SAHF
645 :     and lahf = INSTR LAHF
646 :     and source = INSTR o SOURCE
647 :     and sink = INSTR o SINK
648 :     and phi = INSTR o PHI
649 :     end
650 :    

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0