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

SCM Repository

[smlnj] Diff of /sml/trunk/src/MLRISC/ppc/instructions/ppcInstr.sml
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/ppc/instructions/ppcInstr.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 888, Thu Jul 19 20:24:21 2001 UTC revision 889, Thu Jul 19 20:35:20 2001 UTC
# Line 24  Line 24 
24     | LR     | LR
25     | CTR     | CTR
26     datatype operand =     datatype operand =
27       RegOp of C.cell       RegOp of CellsBasis.cell
28     | ImmedOp of int     | ImmedOp of int
29     | LabelOp of T.labexp     | LabelOp of T.labexp
30     type addressing_mode = (C.cell * operand)     type addressing_mode = (CellsBasis.cell * operand)
31     datatype ea =     datatype ea =
32       Direct of C.cell       Direct of CellsBasis.cell
33     | FDirect of C.cell     | FDirect of CellsBasis.cell
34     | Displace of {base:C.cell, disp:operand}     | Displace of {base:CellsBasis.cell, disp:operand}
35     datatype load =     datatype load =
36       LBZ       LBZ
37     | LBZE     | LBZE
# Line 188  Line 188 
188     | SO32     | SO32
189     | OV32     | OV32
190     | CA32     | CA32
191     type cr_bit = (C.cell * bit)     type cr_bit = (CellsBasis.cell * bit)
192     datatype instruction =     datatype instruction =
193       L of {ld:load, rt:C.cell, ra:C.cell, d:operand, mem:Region.region}       L of {ld:load, rt:CellsBasis.cell, ra:CellsBasis.cell, d:operand, mem:Region.region}
194     | LF of {ld:fload, ft:C.cell, ra:C.cell, d:operand, mem:Region.region}     | LF of {ld:fload, ft:CellsBasis.cell, ra:CellsBasis.cell, d:operand, mem:Region.region}
195     | ST of {st:store, rs:C.cell, ra:C.cell, d:operand, mem:Region.region}     | ST of {st:store, rs:CellsBasis.cell, ra:CellsBasis.cell, d:operand, mem:Region.region}
196     | STF of {st:fstore, fs:C.cell, ra:C.cell, d:operand, mem:Region.region}     | STF of {st:fstore, fs:CellsBasis.cell, ra:CellsBasis.cell, d:operand,
197     | UNARY of {oper:unary, rt:C.cell, ra:C.cell, Rc:bool, OE:bool}          mem:Region.region}
198     | ARITH of {oper:arith, rt:C.cell, ra:C.cell, rb:C.cell, Rc:bool, OE:bool}     | UNARY of {oper:unary, rt:CellsBasis.cell, ra:CellsBasis.cell, Rc:bool,
199     | ARITHI of {oper:arithi, rt:C.cell, ra:C.cell, im:operand}          OE:bool}
200     | ROTATE of {oper:rotate, ra:C.cell, rs:C.cell, sh:C.cell, mb:int, me:int option}     | ARITH of {oper:arith, rt:CellsBasis.cell, ra:CellsBasis.cell, rb:CellsBasis.cell,
201     | ROTATEI of {oper:rotatei, ra:C.cell, rs:C.cell, sh:operand, mb:int, me:int option}          Rc:bool, OE:bool}
202     | COMPARE of {cmp:cmp, l:bool, bf:C.cell, ra:C.cell, rb:operand}     | ARITHI of {oper:arithi, rt:CellsBasis.cell, ra:CellsBasis.cell, im:operand}
203     | FCOMPARE of {cmp:fcmp, bf:C.cell, fa:C.cell, fb:C.cell}     | ROTATE of {oper:rotate, ra:CellsBasis.cell, rs:CellsBasis.cell, sh:CellsBasis.cell,
204     | FUNARY of {oper:funary, ft:C.cell, fb:C.cell, Rc:bool}          mb:int, me:int option}
205     | FARITH of {oper:farith, ft:C.cell, fa:C.cell, fb:C.cell, Rc:bool}     | ROTATEI of {oper:rotatei, ra:CellsBasis.cell, rs:CellsBasis.cell, sh:operand,
206     | FARITH3 of {oper:farith3, ft:C.cell, fa:C.cell, fb:C.cell, fc:C.cell,          mb:int, me:int option}
207       | COMPARE of {cmp:cmp, l:bool, bf:CellsBasis.cell, ra:CellsBasis.cell, rb:operand}
208       | FCOMPARE of {cmp:fcmp, bf:CellsBasis.cell, fa:CellsBasis.cell, fb:CellsBasis.cell}
209       | FUNARY of {oper:funary, ft:CellsBasis.cell, fb:CellsBasis.cell, Rc:bool}
210       | FARITH of {oper:farith, ft:CellsBasis.cell, fa:CellsBasis.cell, fb:CellsBasis.cell,
211          Rc:bool}          Rc:bool}
212       | FARITH3 of {oper:farith3, ft:CellsBasis.cell, fa:CellsBasis.cell, fb:CellsBasis.cell,
213            fc:CellsBasis.cell, Rc:bool}
214     | CCARITH of {oper:ccarith, bt:cr_bit, ba:cr_bit, bb:cr_bit}     | CCARITH of {oper:ccarith, bt:cr_bit, ba:cr_bit, bb:cr_bit}
215     | MCRF of {bf:C.cell, bfa:C.cell}     | MCRF of {bf:CellsBasis.cell, bfa:CellsBasis.cell}
216     | MTSPR of {rs:C.cell, spr:C.cell}     | MTSPR of {rs:CellsBasis.cell, spr:CellsBasis.cell}
217     | MFSPR of {rt:C.cell, spr:C.cell}     | MFSPR of {rt:CellsBasis.cell, spr:CellsBasis.cell}
218     | TW of {to:int, ra:C.cell, si:operand}     | TW of {to:int, ra:CellsBasis.cell, si:operand}
219     | TD of {to:int, ra:C.cell, si:operand}     | TD of {to:int, ra:CellsBasis.cell, si:operand}
220     | BC of {bo:bo, bf:C.cell, bit:bit, addr:operand, LK:bool, fall:operand}     | BC of {bo:bo, bf:CellsBasis.cell, bit:bit, addr:operand, LK:bool, fall:operand}
221     | BCLR of {bo:bo, bf:C.cell, bit:bit, LK:bool, labels:Label.label list}     | BCLR of {bo:bo, bf:CellsBasis.cell, bit:bit, LK:bool, labels:Label.label list}
222     | B of {addr:operand, LK:bool}     | B of {addr:operand, LK:bool}
223     | CALL of {def:C.cellset, use:C.cellset, cutsTo:Label.label list, mem:Region.region}     | CALL of {def:C.cellset, use:C.cellset, cutsTo:Label.label list, mem:Region.region}
224     | COPY of {dst:C.cell list, src:C.cell list, impl:instruction list option ref,     | COPY of {dst:CellsBasis.cell list, src:CellsBasis.cell list, impl:instruction list option ref,
225          tmp:ea option}          tmp:ea option}
226     | FCOPY of {dst:C.cell list, src:C.cell list, impl:instruction list option ref,     | FCOPY of {dst:CellsBasis.cell list, src:CellsBasis.cell list, impl:instruction list option ref,
227          tmp:ea option}          tmp:ea option}
228     | ANNOTATION of {i:instruction, a:Annotations.annotation}     | ANNOTATION of {i:instruction, a:Annotations.annotation}
229     | SOURCE of {}     | SOURCE of {}
# Line 242  Line 248 
248     | LR     | LR
249     | CTR     | CTR
250     datatype operand =     datatype operand =
251       RegOp of C.cell       RegOp of CellsBasis.cell
252     | ImmedOp of int     | ImmedOp of int
253     | LabelOp of T.labexp     | LabelOp of T.labexp
254     type addressing_mode = (C.cell * operand)     type addressing_mode = (CellsBasis.cell * operand)
255     datatype ea =     datatype ea =
256       Direct of C.cell       Direct of CellsBasis.cell
257     | FDirect of C.cell     | FDirect of CellsBasis.cell
258     | Displace of {base:C.cell, disp:operand}     | Displace of {base:CellsBasis.cell, disp:operand}
259     datatype load =     datatype load =
260       LBZ       LBZ
261     | LBZE     | LBZE
# Line 406  Line 412 
412     | SO32     | SO32
413     | OV32     | OV32
414     | CA32     | CA32
415     type cr_bit = (C.cell * bit)     type cr_bit = (CellsBasis.cell * bit)
416     datatype instruction =     datatype instruction =
417       L of {ld:load, rt:C.cell, ra:C.cell, d:operand, mem:Region.region}       L of {ld:load, rt:CellsBasis.cell, ra:CellsBasis.cell, d:operand, mem:Region.region}
418     | LF of {ld:fload, ft:C.cell, ra:C.cell, d:operand, mem:Region.region}     | LF of {ld:fload, ft:CellsBasis.cell, ra:CellsBasis.cell, d:operand, mem:Region.region}
419     | ST of {st:store, rs:C.cell, ra:C.cell, d:operand, mem:Region.region}     | ST of {st:store, rs:CellsBasis.cell, ra:CellsBasis.cell, d:operand, mem:Region.region}
420     | STF of {st:fstore, fs:C.cell, ra:C.cell, d:operand, mem:Region.region}     | STF of {st:fstore, fs:CellsBasis.cell, ra:CellsBasis.cell, d:operand,
421     | UNARY of {oper:unary, rt:C.cell, ra:C.cell, Rc:bool, OE:bool}          mem:Region.region}
422     | ARITH of {oper:arith, rt:C.cell, ra:C.cell, rb:C.cell, Rc:bool, OE:bool}     | UNARY of {oper:unary, rt:CellsBasis.cell, ra:CellsBasis.cell, Rc:bool,
423     | ARITHI of {oper:arithi, rt:C.cell, ra:C.cell, im:operand}          OE:bool}
424     | ROTATE of {oper:rotate, ra:C.cell, rs:C.cell, sh:C.cell, mb:int, me:int option}     | ARITH of {oper:arith, rt:CellsBasis.cell, ra:CellsBasis.cell, rb:CellsBasis.cell,
425     | ROTATEI of {oper:rotatei, ra:C.cell, rs:C.cell, sh:operand, mb:int, me:int option}          Rc:bool, OE:bool}
426     | COMPARE of {cmp:cmp, l:bool, bf:C.cell, ra:C.cell, rb:operand}     | ARITHI of {oper:arithi, rt:CellsBasis.cell, ra:CellsBasis.cell, im:operand}
427     | FCOMPARE of {cmp:fcmp, bf:C.cell, fa:C.cell, fb:C.cell}     | ROTATE of {oper:rotate, ra:CellsBasis.cell, rs:CellsBasis.cell, sh:CellsBasis.cell,
428     | FUNARY of {oper:funary, ft:C.cell, fb:C.cell, Rc:bool}          mb:int, me:int option}
429     | FARITH of {oper:farith, ft:C.cell, fa:C.cell, fb:C.cell, Rc:bool}     | ROTATEI of {oper:rotatei, ra:CellsBasis.cell, rs:CellsBasis.cell, sh:operand,
430     | FARITH3 of {oper:farith3, ft:C.cell, fa:C.cell, fb:C.cell, fc:C.cell,          mb:int, me:int option}
431       | COMPARE of {cmp:cmp, l:bool, bf:CellsBasis.cell, ra:CellsBasis.cell, rb:operand}
432       | FCOMPARE of {cmp:fcmp, bf:CellsBasis.cell, fa:CellsBasis.cell, fb:CellsBasis.cell}
433       | FUNARY of {oper:funary, ft:CellsBasis.cell, fb:CellsBasis.cell, Rc:bool}
434       | FARITH of {oper:farith, ft:CellsBasis.cell, fa:CellsBasis.cell, fb:CellsBasis.cell,
435          Rc:bool}          Rc:bool}
436       | FARITH3 of {oper:farith3, ft:CellsBasis.cell, fa:CellsBasis.cell, fb:CellsBasis.cell,
437            fc:CellsBasis.cell, Rc:bool}
438     | CCARITH of {oper:ccarith, bt:cr_bit, ba:cr_bit, bb:cr_bit}     | CCARITH of {oper:ccarith, bt:cr_bit, ba:cr_bit, bb:cr_bit}
439     | MCRF of {bf:C.cell, bfa:C.cell}     | MCRF of {bf:CellsBasis.cell, bfa:CellsBasis.cell}
440     | MTSPR of {rs:C.cell, spr:C.cell}     | MTSPR of {rs:CellsBasis.cell, spr:CellsBasis.cell}
441     | MFSPR of {rt:C.cell, spr:C.cell}     | MFSPR of {rt:CellsBasis.cell, spr:CellsBasis.cell}
442     | TW of {to:int, ra:C.cell, si:operand}     | TW of {to:int, ra:CellsBasis.cell, si:operand}
443     | TD of {to:int, ra:C.cell, si:operand}     | TD of {to:int, ra:CellsBasis.cell, si:operand}
444     | BC of {bo:bo, bf:C.cell, bit:bit, addr:operand, LK:bool, fall:operand}     | BC of {bo:bo, bf:CellsBasis.cell, bit:bit, addr:operand, LK:bool, fall:operand}
445     | BCLR of {bo:bo, bf:C.cell, bit:bit, LK:bool, labels:Label.label list}     | BCLR of {bo:bo, bf:CellsBasis.cell, bit:bit, LK:bool, labels:Label.label list}
446     | B of {addr:operand, LK:bool}     | B of {addr:operand, LK:bool}
447     | CALL of {def:C.cellset, use:C.cellset, cutsTo:Label.label list, mem:Region.region}     | CALL of {def:C.cellset, use:C.cellset, cutsTo:Label.label list, mem:Region.region}
448     | COPY of {dst:C.cell list, src:C.cell list, impl:instruction list option ref,     | COPY of {dst:CellsBasis.cell list, src:CellsBasis.cell list, impl:instruction list option ref,
449          tmp:ea option}          tmp:ea option}
450     | FCOPY of {dst:C.cell list, src:C.cell list, impl:instruction list option ref,     | FCOPY of {dst:CellsBasis.cell list, src:CellsBasis.cell list, impl:instruction list option ref,
451          tmp:ea option}          tmp:ea option}
452     | ANNOTATION of {i:instruction, a:Annotations.annotation}     | ANNOTATION of {i:instruction, a:Annotations.annotation}
453     | SOURCE of {}     | SOURCE of {}

Legend:
Removed from v.888  
changed lines
  Added in v.889

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