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/sparc.mdl
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/sparc/sparc.mdl

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

revision 840, Fri Jun 15 19:05:19 2001 UTC revision 889, Thu Jul 19 20:35:20 2001 UTC
# Line 459  Line 459 
459         | LO of T.labexp   ``%lo(<labexp>)''  rtl: lo(labexp)         | LO of T.labexp   ``%lo(<labexp>)''  rtl: lo(labexp)
460         | HI of T.labexp   ``%hi(<labexp>)''  rtl: hi(labexp)         | HI of T.labexp   ``%hi(<labexp>)''  rtl: hi(labexp)
461    
462        type addressing_mode = C.cell * operand        type addressing_mode = CellsBasis.cell * operand
463    
464     end (* Instruction *)     end (* Instruction *)
465    
# Line 594  Line 594 
594     struct     struct
595        (* this computes the displacement address *)        (* this computes the displacement address *)
596        fun disp label = itow((Label.addrOf label - !loc)) ~>> 0w2        fun disp label = itow((Label.addrOf label - !loc)) ~>> 0w2
597        val r15 = C.Reg C.GP 15        val r15 = C.Reg CellsBasis.GP 15
598        and r31 = C.Reg C.GP 31        and r31 = C.Reg CellsBasis.GP 31
599     end     end
600    
601    
# Line 660  Line 660 
660          rtl: ``SETHI''          rtl: ``SETHI''
661    
662     |  ARITH of { a:arith, r: $GP, i:operand, d: $GP }     |  ARITH of { a:arith, r: $GP, i:operand, d: $GP }
663          asm: (case (a,C.registerId r,C.registerId d) of          asm: (case (a,CellsBasis.registerId r,CellsBasis.registerId d) of
664                  (* generate abbreviations! *)                  (* generate abbreviations! *)
665                 (I.OR,0,_)    => ``mov\t<i>, <d>''                 (I.OR,0,_)    => ``mov\t<i>, <d>''
666               | (I.SUBCC,_,0) => ``cmp\t<r>, <i>''               | (I.SUBCC,_,0) => ``cmp\t<r>, <i>''
667               |  _            => ``<a>\t<r>, <i>, <d>''               |  _            => ``<a>\t<r>, <i>, <d>''
668               )               )
669          mc:  arith{a,r,i,d}          mc:  arith{a,r,i,d}
670          rtl: (case (a,C.registerId r) of          rtl: (case (a,CellsBasis.registerId r) of
671                 (I.OR, 0) => ``<li>''                 (I.OR, 0) => ``<li>''
672               | _         => ``<a>''               | _         => ``<a>''
673               )               )
# Line 766  Line 766 
766                    emit ", ";                    emit ", ";
767                    emit(C.showFP d))                    emit(C.showFP d))
768                   fun g(a,r,d) =                   fun g(a,r,d) =
769                   let val r = C.registerNum r and d = C.registerNum d                   let val r = CellsBasis.registerNum r and d = CellsBasis.registerNum d
770                   in  f(a,r,d); emit "\n\t";                   in  f(a,r,d); emit "\n\t";
771                       f("fmovs",r+1,d+1)                       f("fmovs",r+1,d+1)
772                   end                   end
773                   fun h(a,r,d) =                   fun h(a,r,d) =
774                   let val r = C.registerNum r and d = C.registerNum d                   let val r = CellsBasis.registerNum r and d = CellsBasis.registerNum d
775                   in  f(a,r,d); emit "\n\t";                   in  f(a,r,d); emit "\n\t";
776                       f("fmovs",r+1,d+1); emit "\n\t";                       f("fmovs",r+1,d+1); emit "\n\t";
777                       f("fmovs",r+2,d+2); emit "\n\t";                       f("fmovs",r+2,d+2); emit "\n\t";

Legend:
Removed from v.840  
changed lines
  Added in v.889

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