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/alpha/instructions/alphaInstr.sml
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/alpha/instructions/alphaInstr.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 16  Line 16 
16        sharing Constant = T.Constant        sharing Constant = T.Constant
17        sharing Region = T.Region        sharing Region = T.Region
18     datatype ea =     datatype ea =
19       Direct of C.cell       Direct of CellsBasis.cell
20     | FDirect of C.cell     | FDirect of CellsBasis.cell
21     | Displace of {base:C.cell, disp:int}     | Displace of {base:CellsBasis.cell, disp:int}
22     datatype operand =     datatype operand =
23       REGop of C.cell       REGop of CellsBasis.cell
24     | IMMop of int     | IMMop of int
25     | HILABop of T.labexp     | HILABop of T.labexp
26     | LOLABop of T.labexp     | LOLABop of T.labexp
# Line 216  Line 216 
216     | IMB     | IMB
217     | RDUNIQUE     | RDUNIQUE
218     | WRUNIQUE     | WRUNIQUE
219     type addressing_mode = (C.cell * operand)     type addressing_mode = (CellsBasis.cell * operand)
220     datatype instruction =     datatype instruction =
221       DEFFREG of C.cell       DEFFREG of CellsBasis.cell
222     | LDA of {r:C.cell, b:C.cell, d:operand}     | LDA of {r:CellsBasis.cell, b:CellsBasis.cell, d:operand}
223     | LDAH of {r:C.cell, b:C.cell, d:operand}     | LDAH of {r:CellsBasis.cell, b:CellsBasis.cell, d:operand}
224     | LOAD of {ldOp:load, r:C.cell, b:C.cell, d:operand, mem:Region.region}     | LOAD of {ldOp:load, r:CellsBasis.cell, b:CellsBasis.cell, d:operand, mem:Region.region}
225     | STORE of {stOp:store, r:C.cell, b:C.cell, d:operand, mem:Region.region}     | STORE of {stOp:store, r:CellsBasis.cell, b:CellsBasis.cell, d:operand,
    | FLOAD of {ldOp:fload, r:C.cell, b:C.cell, d:operand, mem:Region.region}  
    | FSTORE of {stOp:fstore, r:C.cell, b:C.cell, d:operand, mem:Region.region}  
    | JMPL of ({r:C.cell, b:C.cell, d:int} * Label.label list)  
    | JSR of {r:C.cell, b:C.cell, d:int, defs:C.cellset, uses:C.cellset, cutsTo:Label.label list,  
226          mem:Region.region}          mem:Region.region}
227     | BSR of {r:C.cell, lab:Label.label, defs:C.cellset, uses:C.cellset, cutsTo:Label.label list,     | FLOAD of {ldOp:fload, r:CellsBasis.cell, b:CellsBasis.cell, d:operand,
228          mem:Region.region}          mem:Region.region}
229     | RET of {r:C.cell, b:C.cell, d:int}     | FSTORE of {stOp:fstore, r:CellsBasis.cell, b:CellsBasis.cell, d:operand,
230     | BRANCH of {b:branch, r:C.cell, lab:Label.label}          mem:Region.region}
231     | FBRANCH of {b:fbranch, f:C.cell, lab:Label.label}     | JMPL of ({r:CellsBasis.cell, b:CellsBasis.cell, d:int} * Label.label list)
232     | OPERATE of {oper:operate, ra:C.cell, rb:operand, rc:C.cell}     | JSR of {r:CellsBasis.cell, b:CellsBasis.cell, d:int, defs:C.cellset, uses:C.cellset,
233     | OPERATEV of {oper:operateV, ra:C.cell, rb:operand, rc:C.cell}          cutsTo:Label.label list, mem:Region.region}
234     | CMOVE of {oper:cmove, ra:C.cell, rb:operand, rc:C.cell}     | BSR of {r:CellsBasis.cell, lab:Label.label, defs:C.cellset, uses:C.cellset,
235     | PSEUDOARITH of {oper:pseudo_op, ra:C.cell, rb:operand, rc:C.cell, tmps:C.cellset}          cutsTo:Label.label list, mem:Region.region}
236     | COPY of {dst:C.cell list, src:C.cell list, impl:instruction list option ref,     | RET of {r:CellsBasis.cell, b:CellsBasis.cell, d:int}
237       | BRANCH of {b:branch, r:CellsBasis.cell, lab:Label.label}
238       | FBRANCH of {b:fbranch, f:CellsBasis.cell, lab:Label.label}
239       | OPERATE of {oper:operate, ra:CellsBasis.cell, rb:operand, rc:CellsBasis.cell}
240       | OPERATEV of {oper:operateV, ra:CellsBasis.cell, rb:operand, rc:CellsBasis.cell}
241       | CMOVE of {oper:cmove, ra:CellsBasis.cell, rb:operand, rc:CellsBasis.cell}
242       | PSEUDOARITH of {oper:pseudo_op, ra:CellsBasis.cell, rb:operand, rc:CellsBasis.cell,
243            tmps:C.cellset}
244       | COPY of {dst:CellsBasis.cell list, src:CellsBasis.cell list, impl:instruction list option ref,
245          tmp:ea option}          tmp:ea option}
246     | 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,
247          tmp:ea option}          tmp:ea option}
248     | FUNARY of {oper:funary, fb:C.cell, fc:C.cell}     | FUNARY of {oper:funary, fb:CellsBasis.cell, fc:CellsBasis.cell}
249     | FOPERATE of {oper:foperate, fa:C.cell, fb:C.cell, fc:C.cell}     | FOPERATE of {oper:foperate, fa:CellsBasis.cell, fb:CellsBasis.cell, fc:CellsBasis.cell}
250     | FOPERATEV of {oper:foperateV, fa:C.cell, fb:C.cell, fc:C.cell}     | FOPERATEV of {oper:foperateV, fa:CellsBasis.cell, fb:CellsBasis.cell,
251     | FCMOVE of {oper:fcmove, fa:C.cell, fb:C.cell, fc:C.cell}          fc:CellsBasis.cell}
252       | FCMOVE of {oper:fcmove, fa:CellsBasis.cell, fb:CellsBasis.cell, fc:CellsBasis.cell}
253     | TRAPB     | TRAPB
254     | CALL_PAL of {code:osf_user_palcode, def:C.cellset, use:C.cellset}     | CALL_PAL of {code:osf_user_palcode, def:C.cellset, use:C.cellset}
255     | ANNOTATION of {i:instruction, a:Annotations.annotation}     | ANNOTATION of {i:instruction, a:Annotations.annotation}
# Line 262  Line 267 
267     structure Region = T.Region     structure Region = T.Region
268     structure Constant = T.Constant     structure Constant = T.Constant
269     datatype ea =     datatype ea =
270       Direct of C.cell       Direct of CellsBasis.cell
271     | FDirect of C.cell     | FDirect of CellsBasis.cell
272     | Displace of {base:C.cell, disp:int}     | Displace of {base:CellsBasis.cell, disp:int}
273     datatype operand =     datatype operand =
274       REGop of C.cell       REGop of CellsBasis.cell
275     | IMMop of int     | IMMop of int
276     | HILABop of T.labexp     | HILABop of T.labexp
277     | LOLABop of T.labexp     | LOLABop of T.labexp
# Line 462  Line 467 
467     | IMB     | IMB
468     | RDUNIQUE     | RDUNIQUE
469     | WRUNIQUE     | WRUNIQUE
470     type addressing_mode = (C.cell * operand)     type addressing_mode = (CellsBasis.cell * operand)
471     datatype instruction =     datatype instruction =
472       DEFFREG of C.cell       DEFFREG of CellsBasis.cell
473     | LDA of {r:C.cell, b:C.cell, d:operand}     | LDA of {r:CellsBasis.cell, b:CellsBasis.cell, d:operand}
474     | LDAH of {r:C.cell, b:C.cell, d:operand}     | LDAH of {r:CellsBasis.cell, b:CellsBasis.cell, d:operand}
475     | LOAD of {ldOp:load, r:C.cell, b:C.cell, d:operand, mem:Region.region}     | LOAD of {ldOp:load, r:CellsBasis.cell, b:CellsBasis.cell, d:operand, mem:Region.region}
476     | STORE of {stOp:store, r:C.cell, b:C.cell, d:operand, mem:Region.region}     | STORE of {stOp:store, r:CellsBasis.cell, b:CellsBasis.cell, d:operand,
477     | FLOAD of {ldOp:fload, r:C.cell, b:C.cell, d:operand, mem:Region.region}          mem:Region.region}
478     | FSTORE of {stOp:fstore, r:C.cell, b:C.cell, d:operand, mem:Region.region}     | FLOAD of {ldOp:fload, r:CellsBasis.cell, b:CellsBasis.cell, d:operand,
    | JMPL of ({r:C.cell, b:C.cell, d:int} * Label.label list)  
    | JSR of {r:C.cell, b:C.cell, d:int, defs:C.cellset, uses:C.cellset, cutsTo:Label.label list,  
479          mem:Region.region}          mem:Region.region}
480     | BSR of {r:C.cell, lab:Label.label, defs:C.cellset, uses:C.cellset, cutsTo:Label.label list,     | FSTORE of {stOp:fstore, r:CellsBasis.cell, b:CellsBasis.cell, d:operand,
481          mem:Region.region}          mem:Region.region}
482     | RET of {r:C.cell, b:C.cell, d:int}     | JMPL of ({r:CellsBasis.cell, b:CellsBasis.cell, d:int} * Label.label list)
483     | BRANCH of {b:branch, r:C.cell, lab:Label.label}     | JSR of {r:CellsBasis.cell, b:CellsBasis.cell, d:int, defs:C.cellset, uses:C.cellset,
484     | FBRANCH of {b:fbranch, f:C.cell, lab:Label.label}          cutsTo:Label.label list, mem:Region.region}
485     | OPERATE of {oper:operate, ra:C.cell, rb:operand, rc:C.cell}     | BSR of {r:CellsBasis.cell, lab:Label.label, defs:C.cellset, uses:C.cellset,
486     | OPERATEV of {oper:operateV, ra:C.cell, rb:operand, rc:C.cell}          cutsTo:Label.label list, mem:Region.region}
487     | CMOVE of {oper:cmove, ra:C.cell, rb:operand, rc:C.cell}     | RET of {r:CellsBasis.cell, b:CellsBasis.cell, d:int}
488     | PSEUDOARITH of {oper:pseudo_op, ra:C.cell, rb:operand, rc:C.cell, tmps:C.cellset}     | BRANCH of {b:branch, r:CellsBasis.cell, lab:Label.label}
489     | COPY of {dst:C.cell list, src:C.cell list, impl:instruction list option ref,     | FBRANCH of {b:fbranch, f:CellsBasis.cell, lab:Label.label}
490       | OPERATE of {oper:operate, ra:CellsBasis.cell, rb:operand, rc:CellsBasis.cell}
491       | OPERATEV of {oper:operateV, ra:CellsBasis.cell, rb:operand, rc:CellsBasis.cell}
492       | CMOVE of {oper:cmove, ra:CellsBasis.cell, rb:operand, rc:CellsBasis.cell}
493       | PSEUDOARITH of {oper:pseudo_op, ra:CellsBasis.cell, rb:operand, rc:CellsBasis.cell,
494            tmps:C.cellset}
495       | COPY of {dst:CellsBasis.cell list, src:CellsBasis.cell list, impl:instruction list option ref,
496          tmp:ea option}          tmp:ea option}
497     | 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,
498          tmp:ea option}          tmp:ea option}
499     | FUNARY of {oper:funary, fb:C.cell, fc:C.cell}     | FUNARY of {oper:funary, fb:CellsBasis.cell, fc:CellsBasis.cell}
500     | FOPERATE of {oper:foperate, fa:C.cell, fb:C.cell, fc:C.cell}     | FOPERATE of {oper:foperate, fa:CellsBasis.cell, fb:CellsBasis.cell, fc:CellsBasis.cell}
501     | FOPERATEV of {oper:foperateV, fa:C.cell, fb:C.cell, fc:C.cell}     | FOPERATEV of {oper:foperateV, fa:CellsBasis.cell, fb:CellsBasis.cell,
502     | FCMOVE of {oper:fcmove, fa:C.cell, fb:C.cell, fc:C.cell}          fc:CellsBasis.cell}
503       | FCMOVE of {oper:fcmove, fa:CellsBasis.cell, fb:CellsBasis.cell, fc:CellsBasis.cell}
504     | TRAPB     | TRAPB
505     | CALL_PAL of {code:osf_user_palcode, def:C.cellset, use:C.cellset}     | CALL_PAL of {code:osf_user_palcode, def:C.cellset, use:C.cellset}
506     | ANNOTATION of {i:instruction, a:Annotations.annotation}     | ANNOTATION of {i:instruction, a:Annotations.annotation}

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