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/branches/SMLNJ/src/MLRISC/alpha/emit/alphaAsm.sml
ViewVC logotype

Diff of /sml/branches/SMLNJ/src/MLRISC/alpha/emit/alphaAsm.sml

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

revision 474, Wed Nov 10 22:59:58 1999 UTC revision 475, Wed Nov 10 22:59:58 1999 UTC
# Line 61  Line 61 
61         ((emit (C.showGP (regmap r)));         ((emit (C.showGP (regmap r)));
62         (emitRegInfo r))         (emitRegInfo r))
63    
64           fun emit_cellset(title,cellset) =
65           if #contains BasicAnnotations.SHOW_CELLSET formatAnnotations
66           then
67             (nl(); comment(title^C.cellsetToString' regmap cellset))
68           else ()
69           fun emit_defs cellset = emit_cellset("defs: ",cellset)
70           fun emit_uses cellset = emit_cellset("uses: ",cellset)
71    
72     fun asm_pseudo_op (I.DIVL) = "divl"     fun asm_pseudo_op (I.DIVL) = "divl"
73       | asm_pseudo_op (I.DIVLU) = "divlu"       | asm_pseudo_op (I.DIVLU) = "divlu"
74       | asm_pseudo_op (I.DIVQ) = "divq"       | asm_pseudo_op (I.DIVQ) = "divq"
# Line 341  Line 349 
349          (emit ", (");          (emit ", (");
350          (emit_GP b);          (emit_GP b);
351          (emit ")");          (emit ")");
352          (emit_region region))          (emit_region region);
353            (emit_defs cellset1);
354            (emit_uses cellset2))
355        | I.RET{r, b, d} =>        | I.RET{r, b, d} =>
356          ((emit "ret\t");          ((emit "ret\t");
357          (emit_GP r);          (emit_GP r);
# Line 362  Line 372 
372          (emit_label label))          (emit_label label))
373        | I.OPERATE{oper, ra, rb, rc} => let        | I.OPERATE{oper, ra, rb, rc} => let
374    
375  (*#line 313.1 "alpha/alpha.md"*)  (*#line 315.1 "alpha/alpha.md"*)
376    
377             fun f (oper, ra, rb, rc) =             fun f (oper, ra, rb, rc) =
378                 ((emit oper);                 ((emit oper);
# Line 416  Line 426 
426          (emit ", ");          (emit ", ");
427          (emit_operand rb);          (emit_operand rb);
428          (emit ", ");          (emit ", ");
429          (emit_GP rc))          (emit_GP rc);
430            (emit_cellset ("tmps", tmps)))
431        | I.COPY{dst, src, impl, tmp} => (emitInstrs (Shuffle.shuffle {regmap=regmap, tmp=tmp, dst=dst, src=src}))        | I.COPY{dst, src, impl, tmp} => (emitInstrs (Shuffle.shuffle {regmap=regmap, tmp=tmp, dst=dst, src=src}))
432        | I.FCOPY{dst, src, impl, tmp} => (emitInstrs (Shuffle.shufflefp {regmap=regmap, tmp=tmp, dst=dst, src=src}))        | I.FCOPY{dst, src, impl, tmp} => (emitInstrs (Shuffle.shufflefp {regmap=regmap, tmp=tmp, dst=dst, src=src}))
433        | I.FUNARY{oper, fb, fc} =>        | I.FUNARY{oper, fb, fc} =>

Legend:
Removed from v.474  
changed lines
  Added in v.475

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