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/branches/primop-branch/src/compiler/CodeGen/main/mlriscGen.sml
ViewVC logotype

Diff of /sml/branches/primop-branch/src/compiler/CodeGen/main/mlriscGen.sml

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

revision 1470, Mon Mar 29 22:45:55 2004 UTC revision 1471, Mon Mar 29 22:45:55 2004 UTC
# Line 1494  Line 1494 
1494              | gen(PURE(P.real{fromkind=P.INT 31, tokind=P.FLOAT 64},              | gen(PURE(P.real{fromkind=P.INT 31, tokind=P.FLOAT 64},
1495                         [v], x, _, e), hp) =                         [v], x, _, e), hp) =
1496                  treeifyDefF64(x,M.CVTI2F(fty,ity,untagSigned(v)), e, hp)                  treeifyDefF64(x,M.CVTI2F(fty,ity,untagSigned(v)), e, hp)
1497                | gen(PURE(P.real{fromkind=P.INT 32, tokind=P.FLOAT 64},
1498                           [v], x, _, e), hp) =
1499                    treeifyDefF64(x,M.CVTI2F(fty,ity,regbind v), e, hp)
1500              | gen(PURE(P.pure_arith{oper, kind=P.FLOAT 64}, [v], x, _, e), hp) = let              | gen(PURE(P.pure_arith{oper, kind=P.FLOAT 64}, [v], x, _, e), hp) = let
1501                  val r = fregbind v                  val r = fregbind v
1502                in                in
# Line 2008  Line 2011 
2011                  (*esac*))                  (*esac*))
2012                then gen(e, hp)                then gen(e, hp)
2013                else gen(d, hp)                else gen(d, hp)
2014                | gen(BRANCH(P.cmp{oper,kind=P.INT 32},[INT32 v,INT32 k],_,e,d), hp) = let
2015                    val v' = Word32.toLargeIntX v
2016                    val k' = Word32.toLargeIntX k
2017                    in
2018                      if (case oper
2019                           of P.> => v>k
2020                            | P.>= => v>=k
2021                            | P.< => v<k
2022                            | P.<= => v<=k
2023                            | P.eql => v=k
2024                            | P.neq => v<>k
2025                          (* end case *))
2026                        then gen(e, hp)
2027                        else gen(d, hp)
2028                    end
2029              | gen(BRANCH(P.cmp{oper, kind=P.INT 31}, vw, p, e, d), hp) =              | gen(BRANCH(P.cmp{oper, kind=P.INT 31}, vw, p, e, d), hp) =
2030                  branch(p, signedCmp oper, vw, e, d, hp)                  branch(p, signedCmp oper, vw, e, d, hp)
2031              | gen(BRANCH(P.cmp{oper,kind=P.UINT 31},[INT v', INT k'],_,e,d),hp)=              | gen(BRANCH(P.cmp{oper,kind=P.UINT 31},[INT v', INT k'],_,e,d),hp)=

Legend:
Removed from v.1470  
changed lines
  Added in v.1471

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