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/emit/alphaMC.sml
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/alpha/emit/alphaMC.sml

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

revision 983, Wed Nov 21 18:44:55 2001 UTC revision 984, Wed Nov 21 19:00:08 2001 UTC
# Line 6  Line 6 
6    
7    
8  functor AlphaMCEmitter(structure Instr : ALPHAINSTR  functor AlphaMCEmitter(structure Instr : ALPHAINSTR
9                           structure MLTreeEval : MLTREE_EVAL where T = Instr.T
10                           structure Stream : INSTRUCTION_STREAM
11                         structure CodeString : CODE_STRING                         structure CodeString : CODE_STRING
12                        ) : INSTRUCTION_EMITTER =                        ) : INSTRUCTION_EMITTER =
13  struct  struct
14     structure I = Instr     structure I = Instr
15     structure C = I.C     structure C = I.C
    structure LabelExp = I.LabelExp  
16     structure Constant = I.Constant     structure Constant = I.Constant
17     structure T = I.T     structure T = I.T
18     structure S = T.Stream     structure S = Stream
19     structure P = S.P     structure P = S.P
20     structure W = Word32     structure W = Word32
21    
# Line 34  Line 35 
35         val emit_int = itow         val emit_int = itow
36         fun emit_word w = w         fun emit_word w = w
37         fun emit_label l = itow(Label.addrOf l)         fun emit_label l = itow(Label.addrOf l)
38         fun emit_labexp le = itow(LabelExp.valueOf le)         fun emit_labexp le = itow(MLTreeEval.valueOf le)
39         fun emit_const c = itow(Constant.valueOf c)         fun emit_const c = itow(Constant.valueOf c)
40         val loc = ref 0         val loc = ref 0
41    
# Line 252  Line 253 
253     and Split {le} =     and Split {le} =
254         let         let
255  (*#line 432.22 "alpha/alpha.mdl"*)  (*#line 432.22 "alpha/alpha.mdl"*)
256             val i = LabelExp.valueOf le             val i = MLTreeEval.valueOf le
257    
258  (*#line 433.22 "alpha/alpha.mdl"*)  (*#line 433.22 "alpha/alpha.mdl"*)
259             val w = itow i             val w = itow i
# Line 287  Line 288 
288                 | I.IMMop i => itow i                 | I.IMMop i => itow i
289                 | I.HILABop le => High {le=le}                 | I.HILABop le => High {le=le}
290                 | I.LOLABop le => Low {le=le}                 | I.LOLABop le => Low {le=le}
291                 | I.LABop le => itow (LabelExp.valueOf le)                 | I.LABop le => itow (MLTreeEval.valueOf le)
292                 )                 )
293         in Memory {opc=opc, ra=ra, rb=rb, disp=disp}         in Memory {opc=opc, ra=ra, rb=rb, disp=disp}
294         end         end
# Line 343  Line 344 
344              rc=rc}              rc=rc}
345         | I.LOLABop le => Operate1 {opc=opc, ra=ra, lit=Low {le=le}, func=func,         | I.LOLABop le => Operate1 {opc=opc, ra=ra, lit=Low {le=le}, func=func,
346              rc=rc}              rc=rc}
347         | I.LABop le => Operate1 {opc=opc, ra=ra, lit=itow (LabelExp.valueOf le),         | I.LABop le => Operate1 {opc=opc, ra=ra, lit=itow (MLTreeEval.valueOf le),
348              func=func, rc=rc}              func=func, rc=rc}
349         )         )
350     and Foperate {opc, fa, fb, func, fc} =     and Foperate {opc, fa, fb, func, fc} =

Legend:
Removed from v.983  
changed lines
  Added in v.984

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