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

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

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

revision 815, Fri May 4 05:09:10 2001 UTC revision 1003, Fri Dec 7 02:45:32 2001 UTC
# Line 61  Line 61 
61            RegOp of $GP                  ``<GP>'' (emit_GP GP) rtl: $r[GP]            RegOp of $GP                  ``<GP>'' (emit_GP GP) rtl: $r[GP]
62          | ImmedOp of int                ``<int>'' (itow int)  rtl: immed int          | ImmedOp of int                ``<int>'' (itow int)  rtl: immed int
63          | LabelOp of T.labexp   ``<emit_labexp labexp>''          | LabelOp of T.labexp   ``<emit_labexp labexp>''
64                                          (itow(LabelExp.valueOf labexp))                                          (itow(MLTreeEval.valueOf labexp))
65    
66        type addressing_mode = C.cell * operand        type addressing_mode = CellsBasis.cell * operand
67    
68        datatype ea =        datatype ea =
69            Direct of $GP            Direct of $GP
# Line 424  Line 424 
424         in         in
425          case oper          case oper
426          of (0wx3f, 0wx16)  => (* FSQRT *)          of (0wx3f, 0wx16)  => (* FSQRT *)
427               a_form{opcd=opcd,frt=ft,fra=0,frb=fb,frc=0,xo=xo,rc=Rc}               a_form{opcd=opcd,frt=ft,fra=0w0,frb=fb,frc=0w0,xo=xo,rc=Rc}
428             | (0wx3b, 0wx16)  => (* FSQRTS *)             | (0wx3b, 0wx16)  => (* FSQRTS *)
429               a_form{opcd=opcd,frt=ft,fra=0,frb=fb,frc=0,xo=xo,rc=Rc}               a_form{opcd=opcd,frt=ft,fra=0w0,frb=fb,frc=0w0,xo=xo,rc=Rc}
430             | _ =>             | _ =>
431               x_form{opcd=opcd,rt=ft,ra=0w0,rb=fb,xo=xo,rc=Rc}               x_form{opcd=opcd,rt=ft,ra=0w0,rb=fb,xo=xo,rc=Rc}
432         end         end
# Line 537  Line 537 
537      *)      *)
538     structure MC =     structure MC =
539     struct     struct
540        fun relative(I.LabelOp lexp) = itow(LabelExp.valueOf lexp - !loc) ~>> 0w2        fun relative(I.LabelOp lexp) = itow(MLTreeEval.valueOf lexp - !loc) ~>> 0w2
541          | relative _ = error "relative"          | relative _ = error "relative"
542     end     end
543    
# Line 579  Line 579 
579          | eOERc{OE=true,Rc=true}   = emit "o."          | eOERc{OE=true,Rc=true}   = emit "o."
580        fun eRc false = "" | eRc true  = "."        fun eRc false = "" | eRc true  = "."
581        fun cr_bit(cr,bit) =        fun cr_bit(cr,bit) =
582           4 * (C.physicalRegisterNum cr) +           4 * (CellsBasis.physicalRegisterNum cr) +
583           (case bit of           (case bit of
584              I.LT => 0 | I.GT => 1 | I.EQ => 2 | I.SO => 3              I.LT => 0 | I.GT => 1 | I.EQ => 2 | I.SO => 3
585            | I.FL => 0 | I.FG => 1 | I.FE => 2 | I.FU => 3            | I.FL => 0 | I.FG => 1 | I.FE => 2 | I.FU => 3
# Line 589  Line 589 
589        fun eLK true = emit "l" | eLK false = ()        fun eLK true = emit "l" | eLK false = ()
590        fun eI (I.RegOp _) = () | eI _ = emit "i"        fun eI (I.RegOp _) = () | eI _ = emit "i"
591        fun eBI(bo, bf, bit) =        fun eBI(bo, bf, bit) =
592            case (bo, C.physicalRegisterNum bf) of            case (bo, CellsBasis.physicalRegisterNum bf) of
593              (I.ALWAYS, _) => ()              (I.ALWAYS, _) => ()
594            | (I.COUNTER{cond=NONE, ...}, _) => ()            | (I.COUNTER{cond=NONE, ...}, _) => ()
595            | (_,0) => emit(asm_bit bit)            | (_,0) => emit(asm_bit bit)
# Line 727  Line 727 
727                   tmp: ea option}                   tmp: ea option}
728          asm: emitInstrs (Shuffle.shufflefp{tmp,dst,src})          asm: emitInstrs (Shuffle.shufflefp{tmp,dst,src})
729    
      | ANNOTATION of {i:instruction, a:Annotations.annotation}  
         asm: (comment(Annotations.toString a); nl(); emitInstr i)  
         mc:  emitInstr i  
   
730       | SOURCE of {}       | SOURCE of {}
731          asm: ``source''          asm: ``source''
732          mc:  ()          mc:  ()

Legend:
Removed from v.815  
changed lines
  Added in v.1003

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