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 1155, Wed Mar 20 20:52:51 2002 UTC revision 1156, Thu Mar 21 22:01:11 2002 UTC
# Line 231  Line 231 
231        in        in
232          case multDivOp          case multDivOp
233           of (I.IDIVL1 | I.DIVL1) => (eaxPair, C.edx::C.eax::uses)           of (I.IDIVL1 | I.DIVL1) => (eaxPair, C.edx::C.eax::uses)
234            | I.MULL1 => (eaxPair, C.eax::uses)            | (I.IMULL1 | I.MULL1) => (eaxPair, C.eax::uses)
235        end        end
236    
237        fun unary opnd = (operandDef opnd, operandUse opnd)        fun unary opnd = (operandDef opnd, operandUse opnd)
# Line 256  Line 256 
256               if CB.sameColor(rs,rd) then ([rd],[]) else ([rd],[rs,rd])               if CB.sameColor(rs,rd) then ([rd],[]) else ([rd],[rs,rd])
257          | I.BINARY{src,dst,...} =>          | I.BINARY{src,dst,...} =>
258               (operandDef dst, operandAcc(src, operandUse dst))               (operandDef dst, operandAcc(src, operandUse dst))
259            | I.SHIFT{src,dst,count,...} =>
260                 (operandDef dst,
261                  operandAcc(count, operandAcc(src, operandUse dst)))
262          | I.CMPXCHG{src, dst, ...} =>          | I.CMPXCHG{src, dst, ...} =>
263               (C.eax::operandDef dst, C.eax::operandAcc(src, operandUse dst))               (C.eax::operandDef dst, C.eax::operandAcc(src, operandUse dst))
264          | I.ENTER _             => ([C.esp, C.ebp], [C.esp, C.ebp])          | I.ENTER _             => ([C.esp, C.ebp], [C.esp, C.ebp])
# Line 286  Line 289 
289          | I.FNSTSW            => ([C.eax], [])          | I.FNSTSW            => ([C.eax], [])
290          | I.FUCOM opnd          => float opnd          | I.FUCOM opnd          => float opnd
291          | I.FUCOMP opnd         => float opnd          | I.FUCOMP opnd         => float opnd
292            | I.FCOMI opnd          => float opnd
293            | I.FCOMIP opnd         => float opnd
294            | I.FUCOMI opnd         => float opnd
295            | I.FUCOMIP opnd        => float opnd
296    
297          | I.FMOVE{src, dst, ...} => operandUse2(src, dst)          | I.FMOVE{src, dst, ...} => operandUse2(src, dst)
298          | I.FILOAD{ea, dst, ...} => operandUse2(ea, dst)          | I.FILOAD{ea, dst, ...} => operandUse2(ea, dst)
# Line 349  Line 356 
356          | I.FLDS opnd           => ([], operand opnd)          | I.FLDS opnd           => ([], operand opnd)
357          | I.FUCOM opnd            => ([], operand opnd)          | I.FUCOM opnd            => ([], operand opnd)
358          | I.FUCOMP opnd           => ([], operand opnd)          | I.FUCOMP opnd           => ([], operand opnd)
359            | I.FCOMI opnd          => ([], operand opnd)
360            | I.FCOMIP opnd         => ([], operand opnd)
361            | I.FUCOMI opnd         => ([], operand opnd)
362            | I.FUCOMIP opnd        => ([], operand opnd)
363          | I.CALL{defs, uses, ...}       => (C.getFreg defs, C.getFreg uses)          | I.CALL{defs, uses, ...}       => (C.getFreg defs, C.getFreg uses)
364          | I.FBINARY{dst, src, ...}=> (operand dst, operand dst @ operand src)          | I.FBINARY{dst, src, ...}=> (operand dst, operand dst @ operand src)
365    

Legend:
Removed from v.1155  
changed lines
  Added in v.1156

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