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/x86/instructions/x86Props.sml
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/x86/instructions/x86Props.sml

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

revision 545, Thu Feb 24 13:56:44 2000 UTC revision 555, Fri Mar 3 16:10:30 2000 UTC
# Line 90  Line 90 
90       | hashOpn(I.LabelEA le) = LE.hash le + 0w44444       | hashOpn(I.LabelEA le) = LE.hash le + 0w44444
91       | hashOpn(I.Direct r)  = Word.fromInt r       | hashOpn(I.Direct r)  = Word.fromInt r
92       | hashOpn(I.MemReg r)  = Word.fromInt r + 0w2123       | hashOpn(I.MemReg r)  = Word.fromInt r + 0w2123
93         | hashOpn(I.ST f) = Word.fromInt f + 0w88
94       | hashOpn(I.FDirect f) = Word.fromInt f + 0w8888       | hashOpn(I.FDirect f) = Word.fromInt f + 0w8888
95       | hashOpn(I.Displace {base, disp, ...}) =       | hashOpn(I.Displace {base, disp, ...}) =
96           hashOpn disp + Word.fromInt base           hashOpn disp + Word.fromInt base
# Line 101  Line 102 
102       | eqOpn(I.LabelEA a,I.LabelEA b) = LE.==(a,b)       | eqOpn(I.LabelEA a,I.LabelEA b) = LE.==(a,b)
103       | eqOpn(I.Direct a,I.Direct b) = a = b       | eqOpn(I.Direct a,I.Direct b) = a = b
104       | eqOpn(I.MemReg a,I.MemReg b) = a = b       | eqOpn(I.MemReg a,I.MemReg b) = a = b
105         | eqOpn(I.ST a,I.ST b) = a = b
106       | eqOpn(I.FDirect a,I.FDirect b) = a = b       | eqOpn(I.FDirect a,I.FDirect b) = a = b
107       | eqOpn(I.Displace{base=a,disp=b,...},I.Displace{base=c,disp=d,...}) =       | eqOpn(I.Displace{base=a,disp=b,...},I.Displace{base=c,disp=d,...}) =
108            a = c andalso eqOpn(b,d)            a = c andalso eqOpn(b,d)
# Line 168  Line 170 
170    
171        | I.COPY{dst, src, tmp=SOME(I.Direct r), ...}   => (r::dst, src)        | I.COPY{dst, src, tmp=SOME(I.Direct r), ...}   => (r::dst, src)
172        | I.COPY{dst, src, ...} => (dst, src)        | I.COPY{dst, src, ...} => (dst, src)
173          | I.FSTPT opnd          => float opnd
174        | I.FSTPL opnd          => float opnd        | I.FSTPL opnd          => float opnd
175        | I.FSTPS opnd          => float opnd        | I.FSTPS opnd          => float opnd
176        | I.FLDL opnd           => float opnd        | I.FLDL opnd           => float opnd
# Line 190  Line 193 
193        | operand _ = []        | operand _ = []
194    in    in
195      case instr      case instr
196       of I.FSTPL opnd            => (operand opnd, [])       of I.FSTPT opnd            => (operand opnd, [])
197          | I.FSTPL opnd            => (operand opnd, [])
198        | I.FSTPS opnd            => (operand opnd, [])        | I.FSTPS opnd            => (operand opnd, [])
199          | I.FLDT opnd             => ([], operand opnd)
200        | I.FLDL opnd             => ([], operand opnd)        | I.FLDL opnd             => ([], operand opnd)
201        | I.FLDS opnd             => ([], operand opnd)        | I.FLDS opnd             => ([], operand opnd)
202        | I.CALL(_, defs, uses,_) => (#2 defs, #2 uses)        | I.CALL(_, defs, uses,_) => (#2 defs, #2 uses)

Legend:
Removed from v.545  
changed lines
  Added in v.555

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