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
 [smlnj] / sml / trunk / src / MLRISC / ppc / ppc.mdl

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

revision 746, Fri Dec 8 04:16:09 2000 UTC revision 815, Fri May 4 05:09:10 2001 UTC
# Line 60  Line 60
60        datatype operand =        datatype operand =
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 LabelExp.labexp    ``<emit_labexp labexp>''          | LabelOp of T.labexp   ``<emit_labexp labexp>''
64                                          (itow(LabelExp.valueOf labexp))                                          (itow(LabelExp.valueOf labexp))
65
66        type addressing_mode = C.cell * operand        type addressing_mode = C.cell * operand
# Line 421  Line 421
421         (* floating point unary *)         (* floating point unary *)
422       | funary{oper:funary,ft:FP,fb:FP,Rc} =       | funary{oper:funary,ft:FP,fb:FP,Rc} =
423         let val (opcd,xo) = oper         let val (opcd,xo) = oper
424         in  x_form{opcd=opcd,rt=ft,ra=0w0,rb=fb,xo=xo,rc=Rc}         in
425            case oper
426            of (0wx3f, 0wx16)  => (* FSQRT *)
427                 a_form{opcd=opcd,frt=ft,fra=0,frb=fb,frc=0,xo=xo,rc=Rc}
428               | (0wx3b, 0wx16)  => (* FSQRTS *)
429                 a_form{opcd=opcd,frt=ft,fra=0,frb=fb,frc=0,xo=xo,rc=Rc}
430               | _ =>
431                 x_form{opcd=opcd,rt=ft,ra=0w0,rb=fb,xo=xo,rc=Rc}
432         end         end
433
434         (* floating point binary *)         (* floating point binary *)
# Line 705  Line 712
713
714       (* CALL = BCLR {bo=ALWAYS, bf=0, bit=0, LK=true, labels=[] *)       (* CALL = BCLR {bo=ALWAYS, bf=0, bit=0, LK=true, labels=[] *)
715       | CALL of {def:C.cellset, use:C.cellset, mem: Region.region}       | CALL of {def:C.cellset, use:C.cellset,
716          ``blrl<mem><emit_defs(def)><emit_uses(use)>''                  cutsTo: Label.label list, mem: Region.region}
717            ``blrl<mem><emit_defs(def)><emit_uses(use)><emit_cutsTo cutsTo>''
718          bclr{bo=I.ALWAYS,bi=0w0,lk=true}          bclr{bo=I.ALWAYS,bi=0w0,lk=true}
719
720       | COPY of {dst: \$GP list, src: \$GP list,       | COPY of {dst: \$GP list, src: \$GP list,

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