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

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

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

revision 469, Wed Nov 10 22:42:52 1999 UTC revision 475, Wed Nov 10 22:59:58 1999 UTC
# Line 8  Line 8 
8  functor PPC  functor PPC
9    (structure PPCInstr : PPCINSTR    (structure PPCInstr : PPCINSTR
10     structure PPCMLTree : MLTREE     structure PPCMLTree : MLTREE
       where Region = PPCInstr.Region  
         and Constant = PPCInstr.Constant  
         and type cond          = MLTreeBasis.cond  
         and type fcond         = MLTreeBasis.fcond  
         and type ext           = MLTreeBasis.ext  
         and type rounding_mode = MLTreeBasis.rounding_mode  
11     structure PseudoInstrs : PPC_PSEUDO_INSTR     structure PseudoInstrs : PPC_PSEUDO_INSTR
12        where I = PPCInstr        sharing PPCMLTree.Region = PPCInstr.Region
13          sharing PPCMLTree.Constant = PPCInstr.Constant
14          sharing PseudoInstrs.I = PPCInstr
15    
16     (*     (*
17      * Support 64 bit mode?      * Support 64 bit mode?
# Line 281  Line 277 
277              (*esac*);              (*esac*);
278               stmt(T.BCC(cc, T.CC CR0, lab),an))               stmt(T.BCC(cc, T.CC CR0, lab),an))
279           | stmt(T.BCC(cc, T.CMP(ty, _, e1 as T.LI _, e2), lab), an) =           | stmt(T.BCC(cc, T.CMP(ty, _, e1 as T.LI _, e2), lab), an) =
280             let val cc' = MLTreeUtil.swapCond cc             let val cc' = T.Util.swapCond cc
281             in  stmt(T.BCC(cc', T.CMP(ty, cc', e2, e1), lab), an)             in  stmt(T.BCC(cc', T.CMP(ty, cc', e2, e1), lab), an)
282             end             end
283           | stmt(T.BCC(_, cmp as T.CMP(ty, cond, _, _), lab), an) =           | stmt(T.BCC(_, cmp as T.CMP(ty, cond, _, _), lab), an) =
# Line 676  Line 672 
672            | T.FSUB(64, e1, e2) => fbinary(I.FSUB, e1, e2, ft, an)            | T.FSUB(64, e1, e2) => fbinary(I.FSUB, e1, e2, ft, an)
673            | T.FMUL(64, e1, e2) => fbinary(I.FMUL, e1, e2, ft, an)            | T.FMUL(64, e1, e2) => fbinary(I.FMUL, e1, e2, ft, an)
674            | T.FDIV(64, e1, e2) => fbinary(I.FDIV, e1, e2, ft, an)            | T.FDIV(64, e1, e2) => fbinary(I.FDIV, e1, e2, ft, an)
675            | T.CVTI2F(64,_,e) => app emit (PseudoInstrs.cvti2d{reg=expr e,fd=ft})            | T.CVTI2F(64,_,_,e) =>
676                   app emit (PseudoInstrs.cvti2d{reg=expr e,fd=ft})
677    
678              (* Single/double precision support *)              (* Single/double precision support *)
679            | T.FABS((32|64), e) => funary(I.FABS, e, ft, an)            | T.FABS((32|64), e) => funary(I.FABS, e, ft, an)

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

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