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 430, Wed Sep 8 09:47:00 1999 UTC revision 545, Thu Feb 24 13:56:44 2000 UTC
# Line 1  Line 1 
1  (*  (*
2   * This file was automatically generated by MDGen   * This file was automatically generated by MDGen (v2.0)
3   * from the machine description file "alpha/alpha.md".   * from the machine description file "alpha/alpha.md".
4   *)   *)
5    
# Line 8  Line 8 
8  sig  sig
9     structure C : ALPHACELLS     structure C : ALPHACELLS
10     structure Constant: CONSTANT     structure Constant: CONSTANT
11       structure LabelExp: LABELEXP
12     structure Region : REGION     structure Region : REGION
13          sharing Constant = LabelExp.Constant
14     datatype ea =     datatype ea =
15       Direct of int       Direct of int
16     | FDirect of int     | FDirect of int
# Line 19  Line 21 
21     | HILABop of LabelExp.labexp     | HILABop of LabelExp.labexp
22     | LOLABop of LabelExp.labexp     | LOLABop of LabelExp.labexp
23     | LABop of LabelExp.labexp     | LABop of LabelExp.labexp
    | CONSTop of Constant.const  
24     datatype branch =     datatype branch =
25       BR       BR
26     | BSR     | BSR
# Line 167  Line 168 
168     | CMPTLTSU     | CMPTLTSU
169     | CMPTLESU     | CMPTLESU
170     | CMPTUNSU     | CMPTUNSU
171       | ADDS
172       | ADDT
173       | DIVS
174       | DIVT
175       | MULS
176       | MULT
177       | SUBS
178       | SUBT
179     datatype fcmove =     datatype fcmove =
180       FCMOVEQ       FCMOVEQ
181     | FCMOVEGE     | FCMOVGE
182     | FCMOVEGT     | FCMOVGT
183     | FCMOVLE     | FCMOVLE
184     | FCMOVELT     | FCMOVLT
185     | FCMOVENE     | FCMOVNE
186     datatype foperateV =     datatype foperateV =
187       ADDSSUD       ADDSSUD
188     | ADDSSU     | ADDSSU
# Line 199  Line 208 
208     | IMB     | IMB
209     | RDUNIQUE     | RDUNIQUE
210     | WRUNIQUE     | WRUNIQUE
211       type addressing_mode = (C.cell * operand)
212     datatype instruction =     datatype instruction =
213       DEFFREG of int       DEFFREG of int
214     | LDA of {r:int, b:int, d:operand}     | LDA of {r:int, b:int, d:operand}
# Line 209  Line 219 
219     | FSTORE of {stOp:fstore, r:int, b:int, d:operand, mem:Region.region     | FSTORE of {stOp:fstore, r:int, b:int, d:operand, mem:Region.region
220       }       }
221     | JMPL of ({r:int, b:int, d:int} * Label.label list)     | JMPL of ({r:int, b:int, d:int} * Label.label list)
222     | JSR of ({r:int, b:int, d:int} * C.cellset * C.cellset * Region.region)     | JSR of {r:int, b:int, d:int, defs:C.cellset, uses:C.cellset, mem:Region.region
223         }
224     | RET of {r:int, b:int, d:int}     | RET of {r:int, b:int, d:int}
225     | BRANCH of (branch * int * Label.label)     | BRANCH of {b:branch, r:int, lab:Label.label}
226     | FBRANCH of (fbranch * int * Label.label)     | FBRANCH of {b:fbranch, f:int, lab:Label.label}
227     | OPERATE of {oper:operate, ra:int, rb:operand, rc:int}     | OPERATE of {oper:operate, ra:int, rb:operand, rc:int}
228     | OPERATEV of {oper:operateV, ra:int, rb:operand, rc:int}     | OPERATEV of {oper:operateV, ra:int, rb:operand, rc:int}
229     | CMOVE of {oper:cmove, ra:int, rb:operand, rc:int}     | CMOVE of {oper:cmove, ra:int, rb:operand, rc:int}
# Line 229  Line 240 
240     | TRAPB     | TRAPB
241     | CALL_PAL of {code:osf_user_palcode, def:int list, use:int list}     | CALL_PAL of {code:osf_user_palcode, def:int list, use:int list}
242     | ANNOTATION of {i:instruction, a:Annotations.annotation}     | ANNOTATION of {i:instruction, a:Annotations.annotation}
    | GROUP of Annotations.annotation  
243  end  end
244    
245  functor AlphaInstr(structure Const : CONSTANT  functor AlphaInstr(structure LabelExp : LABELEXP
246                     structure Region : REGION                     structure Region : REGION
247                    ) : ALPHAINSTR =                    ) : ALPHAINSTR =
248  struct  struct
249     structure C = AlphaCells     structure C = AlphaCells
250     structure Region = Region     structure Region = Region
251     structure Constant = Const     structure LabelExp = LabelExp
252       structure Constant = LabelExp.Constant
253     datatype ea =     datatype ea =
254       Direct of int       Direct of int
255     | FDirect of int     | FDirect of int
# Line 249  Line 260 
260     | HILABop of LabelExp.labexp     | HILABop of LabelExp.labexp
261     | LOLABop of LabelExp.labexp     | LOLABop of LabelExp.labexp
262     | LABop of LabelExp.labexp     | LABop of LabelExp.labexp
    | CONSTop of Constant.const  
263     datatype branch =     datatype branch =
264       BR       BR
265     | BSR     | BSR
# Line 397  Line 407 
407     | CMPTLTSU     | CMPTLTSU
408     | CMPTLESU     | CMPTLESU
409     | CMPTUNSU     | CMPTUNSU
410       | ADDS
411       | ADDT
412       | DIVS
413       | DIVT
414       | MULS
415       | MULT
416       | SUBS
417       | SUBT
418     datatype fcmove =     datatype fcmove =
419       FCMOVEQ       FCMOVEQ
420     | FCMOVEGE     | FCMOVGE
421     | FCMOVEGT     | FCMOVGT
422     | FCMOVLE     | FCMOVLE
423     | FCMOVELT     | FCMOVLT
424     | FCMOVENE     | FCMOVNE
425     datatype foperateV =     datatype foperateV =
426       ADDSSUD       ADDSSUD
427     | ADDSSU     | ADDSSU
# Line 429  Line 447 
447     | IMB     | IMB
448     | RDUNIQUE     | RDUNIQUE
449     | WRUNIQUE     | WRUNIQUE
450       type addressing_mode = (C.cell * operand)
451     datatype instruction =     datatype instruction =
452       DEFFREG of int       DEFFREG of int
453     | LDA of {r:int, b:int, d:operand}     | LDA of {r:int, b:int, d:operand}
# Line 439  Line 458 
458     | FSTORE of {stOp:fstore, r:int, b:int, d:operand, mem:Region.region     | FSTORE of {stOp:fstore, r:int, b:int, d:operand, mem:Region.region
459       }       }
460     | JMPL of ({r:int, b:int, d:int} * Label.label list)     | JMPL of ({r:int, b:int, d:int} * Label.label list)
461     | JSR of ({r:int, b:int, d:int} * C.cellset * C.cellset * Region.region)     | JSR of {r:int, b:int, d:int, defs:C.cellset, uses:C.cellset, mem:Region.region
462         }
463     | RET of {r:int, b:int, d:int}     | RET of {r:int, b:int, d:int}
464     | BRANCH of (branch * int * Label.label)     | BRANCH of {b:branch, r:int, lab:Label.label}
465     | FBRANCH of (fbranch * int * Label.label)     | FBRANCH of {b:fbranch, f:int, lab:Label.label}
466     | OPERATE of {oper:operate, ra:int, rb:operand, rc:int}     | OPERATE of {oper:operate, ra:int, rb:operand, rc:int}
467     | OPERATEV of {oper:operateV, ra:int, rb:operand, rc:int}     | OPERATEV of {oper:operateV, ra:int, rb:operand, rc:int}
468     | CMOVE of {oper:cmove, ra:int, rb:operand, rc:int}     | CMOVE of {oper:cmove, ra:int, rb:operand, rc:int}
# Line 459  Line 479 
479     | TRAPB     | TRAPB
480     | CALL_PAL of {code:osf_user_palcode, def:int list, use:int list}     | CALL_PAL of {code:osf_user_palcode, def:int list, use:int list}
481     | ANNOTATION of {i:instruction, a:Annotations.annotation}     | ANNOTATION of {i:instruction, a:Annotations.annotation}
    | GROUP of Annotations.annotation  
482  end  end
483    

Legend:
Removed from v.430  
changed lines
  Added in v.545

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