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/sparc/instructions/sparcInstr.sml
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/sparc/instructions/sparcInstr.sml

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

revision 1008, Fri Dec 14 21:01:29 2001 UTC revision 1009, Wed Jan 9 19:44:22 2002 UTC
# Line 8  Line 8 
8  signature SPARCINSTR =  signature SPARCINSTR =
9  sig  sig
10     structure C : SPARCCELLS     structure C : SPARCCELLS
11     structure CB : CELLS_BASIS     structure CB : CELLS_BASIS = CellsBasis
12     structure T : MLTREE     structure T : MLTREE
13     structure Constant: CONSTANT     structure Constant: CONSTANT
14     structure Region : REGION     structure Region : REGION
# Line 219  Line 219 
219     | FPop1 of {a:farith1, r:CellsBasis.cell, d:CellsBasis.cell}     | FPop1 of {a:farith1, r:CellsBasis.cell, d:CellsBasis.cell}
220     | FPop2 of {a:farith2, r1:CellsBasis.cell, r2:CellsBasis.cell, d:CellsBasis.cell}     | FPop2 of {a:farith2, r1:CellsBasis.cell, r2:CellsBasis.cell, d:CellsBasis.cell}
221     | FCMP of {cmp:fcmp, r1:CellsBasis.cell, r2:CellsBasis.cell, nop:bool}     | FCMP of {cmp:fcmp, r1:CellsBasis.cell, r2:CellsBasis.cell, nop:bool}
    | COPY of {dst:(CellsBasis.cell) list, src:(CellsBasis.cell) list, impl:instruction list option ref,  
         tmp:ea option}  
    | FCOPY of {dst:(CellsBasis.cell) list, src:(CellsBasis.cell) list, impl:instruction list option ref,  
         tmp:ea option}  
222     | SAVE of {r:CellsBasis.cell, i:operand, d:CellsBasis.cell}     | SAVE of {r:CellsBasis.cell, i:operand, d:CellsBasis.cell}
223     | RESTORE of {r:CellsBasis.cell, i:operand, d:CellsBasis.cell}     | RESTORE of {r:CellsBasis.cell, i:operand, d:CellsBasis.cell}
224     | RDY of {d:CellsBasis.cell}     | RDY of {d:CellsBasis.cell}
# Line 234  Line 230 
230     and instruction =     and instruction =
231       LIVE of {regs: C.cellset, spilled: C.cellset}       LIVE of {regs: C.cellset, spilled: C.cellset}
232     | KILL of {regs: C.cellset, spilled: C.cellset}     | KILL of {regs: C.cellset, spilled: C.cellset}
233     | COPYXXX of {k: CB.cellkind, dst: CB.cell list, src: CB.cell list}     | COPY of {k: CellsBasis.cellkind,
234                  sz: int,          (* in bits *)
235                  dst: CellsBasis.cell list,
236                  src: CellsBasis.cell list,
237                  tmp: ea option (* NONE if |dst| = {src| = 1 *)}
238     | ANNOTATION of {i:instruction, a:Annotations.annotation}     | ANNOTATION of {i:instruction, a:Annotations.annotation}
239     | INSTR of instr     | INSTR of instr
240     val load : {l:load, d:CellsBasis.cell, r:CellsBasis.cell, i:operand, mem:Region.region} -> instruction     val load : {l:load, d:CellsBasis.cell, r:CellsBasis.cell, i:operand, mem:Region.region} -> instruction
# Line 265  Line 265 
265     val fpop1 : {a:farith1, r:CellsBasis.cell, d:CellsBasis.cell} -> instruction     val fpop1 : {a:farith1, r:CellsBasis.cell, d:CellsBasis.cell} -> instruction
266     val fpop2 : {a:farith2, r1:CellsBasis.cell, r2:CellsBasis.cell, d:CellsBasis.cell} -> instruction     val fpop2 : {a:farith2, r1:CellsBasis.cell, r2:CellsBasis.cell, d:CellsBasis.cell} -> instruction
267     val fcmp : {cmp:fcmp, r1:CellsBasis.cell, r2:CellsBasis.cell, nop:bool} -> instruction     val fcmp : {cmp:fcmp, r1:CellsBasis.cell, r2:CellsBasis.cell, nop:bool} -> instruction
    val copy : {dst:(CellsBasis.cell) list, src:(CellsBasis.cell) list, impl:instruction list option ref,  
       tmp:ea option} -> instruction  
    val fcopy : {dst:(CellsBasis.cell) list, src:(CellsBasis.cell) list, impl:instruction list option ref,  
       tmp:ea option} -> instruction  
268     val save : {r:CellsBasis.cell, i:operand, d:CellsBasis.cell} -> instruction     val save : {r:CellsBasis.cell, i:operand, d:CellsBasis.cell} -> instruction
269     val restore : {r:CellsBasis.cell, i:operand, d:CellsBasis.cell} -> instruction     val restore : {r:CellsBasis.cell, i:operand, d:CellsBasis.cell} -> instruction
270     val rdy : {d:CellsBasis.cell} -> instruction     val rdy : {d:CellsBasis.cell} -> instruction
# Line 492  Line 488 
488     | FPop1 of {a:farith1, r:CellsBasis.cell, d:CellsBasis.cell}     | FPop1 of {a:farith1, r:CellsBasis.cell, d:CellsBasis.cell}
489     | FPop2 of {a:farith2, r1:CellsBasis.cell, r2:CellsBasis.cell, d:CellsBasis.cell}     | FPop2 of {a:farith2, r1:CellsBasis.cell, r2:CellsBasis.cell, d:CellsBasis.cell}
490     | FCMP of {cmp:fcmp, r1:CellsBasis.cell, r2:CellsBasis.cell, nop:bool}     | FCMP of {cmp:fcmp, r1:CellsBasis.cell, r2:CellsBasis.cell, nop:bool}
    | COPY of {dst:(CellsBasis.cell) list, src:(CellsBasis.cell) list, impl:instruction list option ref,  
         tmp:ea option}  
    | FCOPY of {dst:(CellsBasis.cell) list, src:(CellsBasis.cell) list, impl:instruction list option ref,  
         tmp:ea option}  
491     | SAVE of {r:CellsBasis.cell, i:operand, d:CellsBasis.cell}     | SAVE of {r:CellsBasis.cell, i:operand, d:CellsBasis.cell}
492     | RESTORE of {r:CellsBasis.cell, i:operand, d:CellsBasis.cell}     | RESTORE of {r:CellsBasis.cell, i:operand, d:CellsBasis.cell}
493     | RDY of {d:CellsBasis.cell}     | RDY of {d:CellsBasis.cell}
# Line 507  Line 499 
499     and instruction =     and instruction =
500       LIVE of {regs: C.cellset, spilled: C.cellset}       LIVE of {regs: C.cellset, spilled: C.cellset}
501     | KILL of {regs: C.cellset, spilled: C.cellset}     | KILL of {regs: C.cellset, spilled: C.cellset}
502     | COPYXXX of {k: CB.cellkind, dst: CB.cell list, src: CB.cell list}     | COPY of {k: CellsBasis.cellkind,
503                  sz: int,          (* in bits *)
504                  dst: CellsBasis.cell list,
505                  src: CellsBasis.cell list,
506                  tmp: ea option (* NONE if |dst| = {src| = 1 *)}
507     | ANNOTATION of {i:instruction, a:Annotations.annotation}     | ANNOTATION of {i:instruction, a:Annotations.annotation}
508     | INSTR of instr     | INSTR of instr
509     val load = INSTR o LOAD     val load = INSTR o LOAD
# Line 534  Line 530 
530     and fpop1 = INSTR o FPop1     and fpop1 = INSTR o FPop1
531     and fpop2 = INSTR o FPop2     and fpop2 = INSTR o FPop2
532     and fcmp = INSTR o FCMP     and fcmp = INSTR o FCMP
    and copy = INSTR o COPY  
    and fcopy = INSTR o FCOPY  
533     and save = INSTR o SAVE     and save = INSTR o SAVE
534     and restore = INSTR o RESTORE     and restore = INSTR o RESTORE
535     and rdy = INSTR o RDY     and rdy = INSTR o RDY

Legend:
Removed from v.1008  
changed lines
  Added in v.1009

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