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/hppa/instructions/hppaInstr.sml
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/hppa/instructions/hppaInstr.sml

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

revision 544, Tue Feb 22 22:56:38 2000 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 "hppa/hppa.md".   * from the machine description file "hppa/hppa.md".
4   *)   *)
5    
# Line 8  Line 8 
8  sig  sig
9     structure C : HPPACELLS     structure C : HPPACELLS
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 fmt =     datatype fmt =
15       SGL       SGL
16     | DBL     | DBL
# Line 21  Line 23 
23       STW       STW
24     | STH     | STH
25     | STB     | STB
    datatype cmplt =  
      ADDR  
    | ADDR_S  
    | ADDR_M  
    | ADDR_SM  
26     datatype load =     datatype load =
27       LDWX       LDWX
28     | LDWX_S     | LDWX_S
# Line 208  Line 205 
205     | FDirect of int     | FDirect of int
206     | Displace of {base:int, disp:int}     | Displace of {base:int, disp:int}
207     datatype operand =     datatype operand =
208       IMMED of int       REG of int
209       | IMMED of int
210     | LabExp of (LabelExp.labexp * field_selector)     | LabExp of (LabelExp.labexp * field_selector)
211     | HILabExp of (LabelExp.labexp * field_selector)     | HILabExp of (LabelExp.labexp * field_selector)
212     | LOLabExp of (LabelExp.labexp * field_selector)     | LOLabExp of (LabelExp.labexp * field_selector)
213     | ConstOp of Constant.const     datatype addressing_mode =
214         DISPea of (C.cell * operand)
215       | INDXea of (C.cell * C.cell)
216       | INDXSCALEDea of (C.cell * C.cell)
217     datatype instruction =     datatype instruction =
218       LOADI of {li:loadi, r:int, i:operand, t:int, mem:Region.region}       LOADI of {li:loadi, r:int, i:operand, t:int, mem:Region.region}
219     | LOAD of {l:load, r1:int, r2:int, t:int, mem:Region.region}     | LOAD of {l:load, r1:int, r2:int, t:int, mem:Region.region}
# Line 233  Line 234 
234     | BE of {b:int, d:operand, sr:int, n:bool, labs:Label.label list}     | BE of {b:int, d:operand, sr:int, n:bool, labs:Label.label list}
235     | BV of {x:int, b:int, labs:Label.label list, n:bool}     | BV of {x:int, b:int, labs:Label.label list, n:bool}
236     | BLR of {x:int, t:int, labs:Label.label list, n:bool}     | BLR of {x:int, t:int, labs:Label.label list, n:bool}
237     | BL of {x:operand, t:int, defs:C.cellset, uses:C.cellset, n:bool}     | BL of {x:operand, t:int, defs:C.cellset, uses:C.cellset, mem:Region.region
238         , n:bool}
239     | BLE of {d:operand, b:int, sr:int, t:int, defs:C.cellset, uses:C.cellset     | BLE of {d:operand, b:int, sr:int, t:int, defs:C.cellset, uses:C.cellset
240       , mem:Region.region}       , mem:Region.region}
241     | LDIL of {i:operand, t:int}     | LDIL of {i:operand, t:int}
# Line 255  Line 257 
257     | FCOPY of {dst:int list, src:int list, impl:instruction list option ref     | FCOPY of {dst:int list, src:int list, impl:instruction list option ref
258       , tmp:ea option}       , tmp:ea option}
259     | ANNOTATION of {i:instruction, a:Annotations.annotation}     | ANNOTATION of {i:instruction, a:Annotations.annotation}
    | GROUP of Annotations.annotation  
260  end  end
261    
262  functor HppaInstr(structure Const : CONSTANT  functor HppaInstr(structure LabelExp : LABELEXP
263                    structure Region : REGION                    structure Region : REGION
264                   ) : HPPAINSTR =                   ) : HPPAINSTR =
265  struct  struct
266     structure C = HppaCells     structure C = HppaCells
267     structure Region = Region     structure Region = Region
268     structure Constant = Const     structure LabelExp = LabelExp
269       structure Constant = LabelExp.Constant
270     datatype fmt =     datatype fmt =
271       SGL       SGL
272     | DBL     | DBL
# Line 277  Line 279 
279       STW       STW
280     | STH     | STH
281     | STB     | STB
    datatype cmplt =  
      ADDR  
    | ADDR_S  
    | ADDR_M  
    | ADDR_SM  
282     datatype load =     datatype load =
283       LDWX       LDWX
284     | LDWX_S     | LDWX_S
# Line 464  Line 461 
461     | FDirect of int     | FDirect of int
462     | Displace of {base:int, disp:int}     | Displace of {base:int, disp:int}
463     datatype operand =     datatype operand =
464       IMMED of int       REG of int
465       | IMMED of int
466     | LabExp of (LabelExp.labexp * field_selector)     | LabExp of (LabelExp.labexp * field_selector)
467     | HILabExp of (LabelExp.labexp * field_selector)     | HILabExp of (LabelExp.labexp * field_selector)
468     | LOLabExp of (LabelExp.labexp * field_selector)     | LOLabExp of (LabelExp.labexp * field_selector)
469     | ConstOp of Constant.const     datatype addressing_mode =
470         DISPea of (C.cell * operand)
471       | INDXea of (C.cell * C.cell)
472       | INDXSCALEDea of (C.cell * C.cell)
473     datatype instruction =     datatype instruction =
474       LOADI of {li:loadi, r:int, i:operand, t:int, mem:Region.region}       LOADI of {li:loadi, r:int, i:operand, t:int, mem:Region.region}
475     | LOAD of {l:load, r1:int, r2:int, t:int, mem:Region.region}     | LOAD of {l:load, r1:int, r2:int, t:int, mem:Region.region}
# Line 489  Line 490 
490     | BE of {b:int, d:operand, sr:int, n:bool, labs:Label.label list}     | BE of {b:int, d:operand, sr:int, n:bool, labs:Label.label list}
491     | BV of {x:int, b:int, labs:Label.label list, n:bool}     | BV of {x:int, b:int, labs:Label.label list, n:bool}
492     | BLR of {x:int, t:int, labs:Label.label list, n:bool}     | BLR of {x:int, t:int, labs:Label.label list, n:bool}
493     | BL of {x:operand, t:int, defs:C.cellset, uses:C.cellset, n:bool}     | BL of {x:operand, t:int, defs:C.cellset, uses:C.cellset, mem:Region.region
494         , n:bool}
495     | BLE of {d:operand, b:int, sr:int, t:int, defs:C.cellset, uses:C.cellset     | BLE of {d:operand, b:int, sr:int, t:int, defs:C.cellset, uses:C.cellset
496       , mem:Region.region}       , mem:Region.region}
497     | LDIL of {i:operand, t:int}     | LDIL of {i:operand, t:int}
# Line 511  Line 513 
513     | FCOPY of {dst:int list, src:int list, impl:instruction list option ref     | FCOPY of {dst:int list, src:int list, impl:instruction list option ref
514       , tmp:ea option}       , tmp:ea option}
515     | ANNOTATION of {i:instruction, a:Annotations.annotation}     | ANNOTATION of {i:instruction, a:Annotations.annotation}
    | GROUP of Annotations.annotation  
516  end  end
517    

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

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