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 /MLRISC/trunk/staged-allocation/c-call-fn.sml
ViewVC logotype

Diff of /MLRISC/trunk/staged-allocation/c-call-fn.sml

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

revision 3067, Thu Jun 5 22:18:34 2008 UTC revision 3068, Fri Jun 6 00:25:53 2008 UTC
# Line 69  Line 69 
69              (T.FSTORE (mty, offSp offset, e, stack) :: stms, gprs, fprs)              (T.FSTORE (mty, offSp offset, e, stack) :: stms, gprs, fprs)
70            | (ARG (T.LOAD (ty, e, rgn)), C_FPR (mty, r)) =>            | (ARG (T.LOAD (ty, e, rgn)), C_FPR (mty, r)) =>
71              (copyToFReg(mty, r, T.FLOAD (ty, T.ADD(wordTy, e, lit (i*8)), rgn)) @ stms, gprs, (mty, r) :: fprs)              (copyToFReg(mty, r, T.FLOAD (ty, T.ADD(wordTy, e, lit (i*8)), rgn)) @ stms, gprs, (mty, r) :: fprs)
72            | (FARG (T.FLOAD (ty, e, rgn)), C_STK (mty, offset)) => let            | (FARG (T.FLOAD (ty, e, rgn)), C_FSTK (mty, offset)) => let
73              val tmp = C.newFreg ()              val tmp = C.newFreg ()
74              in              in
75                  (T.FSTORE (wordTy, offSp offset, T.FREG (wordTy, tmp), stack) ::                  (T.FSTORE (mty, offSp offset, T.FREG (mty, tmp), stack) ::
76                   T.FMV (wordTy, tmp, T.FLOAD (ty, T.ADD(wordTy, e, lit (i*8)), rgn)) :: stms, gprs, fprs)                   T.FMV (mty, tmp, T.FLOAD (ty, T.ADD(wordTy, e, lit (i*8)), rgn)) :: stms, gprs, fprs)
77              end              end
78            | (FARG e, C_STK (mty, offset)) => let            | (FARG e, C_FSTK (mty, offset)) => let
79              val tmp = C.newFreg ()              val tmp = C.newFreg ()
80              in              in
81                  (T.FSTORE (wordTy, offSp offset, T.FREG (wordTy, tmp), stack) :: T.FMV (wordTy, tmp, e) :: stms, gprs, fprs)                  (T.FSTORE (mty, offSp offset, T.FREG (mty, tmp), stack) :: T.FMV (mty, tmp, e) :: stms, gprs, fprs)
82              end              end
83            | (FARG e, C_FPR (mty, r)) => (copyToFReg(mty, r, e) @ stms, gprs, (mty, r) :: fprs)            | (FARG e, C_FPR (mty, r)) => (copyToFReg(mty, r, e) @ stms, gprs, (mty, r) :: fprs)
84            | _ => raise Fail "invalid arg / location combination"            | _ => raise Fail "invalid arg / location combination"

Legend:
Removed from v.3067  
changed lines
  Added in v.3068

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