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

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

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

revision 1180, Tue Mar 26 22:24:24 2002 UTC revision 1181, Wed Mar 27 21:27:27 2002 UTC
# Line 1006  Line 1006 
1006                 multiply(32,                 multiply(32,
1007                   fn{ra,rb,rc} => I.operate{oper=I.MULL,ra=ra,rb=rb,rc=rc},                   fn{ra,rb,rc} => I.operate{oper=I.MULL,ra=ra,rb=rb,rc=rc},
1008                   Muls32.multiply,a,b,d,[],an)                   Muls32.multiply,a,b,d,[],an)
1009            | T.DIVT(32,a,b) => divide(32,P.divlv,Mult32.divide,a,b,d,an)            | T.DIVT(T.DIV_TO_ZERO,32,a,b) =>
1010                                  divide(32,P.divlv,Mult32.divide,a,b,d,an)
1011            | T.DIVU(32,a,b) => divide(32,P.divlu,Mulu32.divide,a,b,d,an)            | T.DIVU(32,a,b) => divide(32,P.divlu,Mulu32.divide,a,b,d,an)
1012            | T.DIVS(32,a,b) => divide(32,P.divl,Muls32.divide,a,b,d,an)            | T.DIVS(T.DIV_TO_ZERO,32,a,b) =>
1013            | T.REMT(32,a,b) => pseudo(P.remlv,a,b,d)                                divide(32,P.divl,Muls32.divide,a,b,d,an)
1014              | T.REMT(T.DIV_TO_ZERO,32,a,b) => pseudo(P.remlv,a,b,d)
1015            | T.REMU(32,a,b) => pseudo(P.remlu,a,b,d)            | T.REMU(32,a,b) => pseudo(P.remlu,a,b,d)
1016            | T.REMS(32,a,b) => pseudo(P.reml,a,b,d)            | T.REMS(T.DIV_TO_ZERO,32,a,b) => pseudo(P.reml,a,b,d)
1017    
1018            | T.SLL(32,a,b) => sll32(a,b,d,an)            | T.SLL(32,a,b) => sll32(a,b,d,an)
1019            | T.SRA(32,a,b) => sra(a,b,d,an)            | T.SRA(32,a,b) => sra(a,b,d,an)
# Line 1034  Line 1036 
1036                 multiply(64,                 multiply(64,
1037                   fn{ra,rb,rc} => I.operate{oper=I.MULQ,ra=ra,rb=rb,rc=rc},                   fn{ra,rb,rc} => I.operate{oper=I.MULQ,ra=ra,rb=rb,rc=rc},
1038                   Muls64.multiply,a,b,d,[],an)                   Muls64.multiply,a,b,d,[],an)
1039            | T.DIVT(64,a,b) => divide(64,P.divqv,Mult64.divide,a,b,d,an)            | T.DIVT(T.DIV_TO_ZERO,64,a,b) =>
1040                                  divide(64,P.divqv,Mult64.divide,a,b,d,an)
1041            | T.DIVU(64,a,b) => divide(64,P.divqu,Mulu64.divide,a,b,d,an)            | T.DIVU(64,a,b) => divide(64,P.divqu,Mulu64.divide,a,b,d,an)
1042            | T.DIVS(64,a,b) => divide(64,P.divq,Muls64.divide,a,b,d,an)            | T.DIVS(T.DIV_TO_ZERO,64,a,b) =>
1043            | T.REMT(64,a,b) => pseudo(P.remqv,a,b,d)                                divide(64,P.divq,Muls64.divide,a,b,d,an)
1044              | T.REMT(T.DIV_TO_ZERO,64,a,b) => pseudo(P.remqv,a,b,d)
1045            | T.REMU(64,a,b) => pseudo(P.remqu,a,b,d)            | T.REMU(64,a,b) => pseudo(P.remqu,a,b,d)
1046            | T.REMS(64,a,b) => pseudo(P.remq,a,b,d)            | T.REMS(T.DIV_TO_ZERO,64,a,b) => pseudo(P.remq,a,b,d)
1047    
1048            | T.SLL(64,a,b) => sll64(a,b,d,an)            | T.SLL(64,a,b) => sll64(a,b,d,an)
1049            | T.SRA(64,a,b) => sra(a,b,d,an)            | T.SRA(64,a,b) => sra(a,b,d,an)

Legend:
Removed from v.1180  
changed lines
  Added in v.1181

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