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/ra/x86Rewrite.sml
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/x86/ra/x86Rewrite.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 52  Line 52 
52            I.BITOP{bitOp=bitOp, lsrc=operand lsrc, rsrc=operand rsrc}            I.BITOP{bitOp=bitOp, lsrc=operand lsrc, rsrc=operand rsrc}
53         | I.BINARY{binOp, src, dst} =>         | I.BINARY{binOp, src, dst} =>
54            I.BINARY{binOp=binOp, src=operand src, dst=operand dst}            I.BINARY{binOp=binOp, src=operand src, dst=operand dst}
55           | I.SHIFT{shiftOp, src, dst, count} =>
56              I.SHIFT{shiftOp=shiftOp, src=operand src, dst=operand dst,
57                      count=operand src}
58         | I.CMPXCHG{lock, sz, src, dst} =>         | I.CMPXCHG{lock, sz, src, dst} =>
59            I.CMPXCHG{lock=lock, sz=sz, src=operand src, dst=operand dst}            I.CMPXCHG{lock=lock, sz=sz, src=operand src, dst=operand dst}
60         | I.MULTDIV{multDivOp, src} =>         | I.MULTDIV{multDivOp, src} =>
# Line 74  Line 77 
77         | I.FLDS opnd => I.FLDS(operand opnd)         | I.FLDS opnd => I.FLDS(operand opnd)
78         | I.FUCOM opnd => I.FUCOM(operand opnd)         | I.FUCOM opnd => I.FUCOM(operand opnd)
79         | I.FUCOMP opnd => I.FUCOMP(operand opnd)         | I.FUCOMP opnd => I.FUCOMP(operand opnd)
80           | I.FCOMI opnd => I.FCOMI(operand opnd)
81           | I.FCOMIP opnd => I.FCOMIP(operand opnd)
82           | I.FUCOMI opnd => I.FUCOMI(operand opnd)
83           | I.FUCOMIP opnd => I.FUCOMIP(operand opnd)
84         | I.FENV{fenvOp,opnd} => I.FENV{fenvOp=fenvOp, opnd=operand opnd}         | I.FENV{fenvOp,opnd} => I.FENV{fenvOp=fenvOp, opnd=operand opnd}
85         | I.FBINARY{binOp, src, dst} =>         | I.FBINARY{binOp, src, dst} =>
86            I.FBINARY{binOp=binOp, src=operand src, dst=dst}            I.FBINARY{binOp=binOp, src=operand src, dst=dst}
# Line 93  Line 100 
100                      lsrc=operand lsrc,rsrc=operand rsrc,dst=operand dst}                      lsrc=operand lsrc,rsrc=operand rsrc,dst=operand dst}
101         | I.FUNOP{fsize,unOp,src,dst} =>         | I.FUNOP{fsize,unOp,src,dst} =>
102            I.FUNOP{fsize=fsize,unOp=unOp,src=operand src,dst=operand dst}            I.FUNOP{fsize=fsize,unOp=unOp,src=operand src,dst=operand dst}
103         | I.FCMP{fsize,lsrc,rsrc} =>         | I.FCMP{i,fsize,lsrc,rsrc} =>
104            I.FCMP{fsize=fsize,lsrc=operand lsrc,rsrc=operand rsrc}            I.FCMP{i=i,fsize=fsize,lsrc=operand lsrc,rsrc=operand rsrc}
105    
106         | I.CMOV{cond, src, dst} => I.CMOV{cond=cond, src=operand src, dst=dst}         | I.CMOV{cond, src, dst} => I.CMOV{cond=cond, src=operand src, dst=dst}
107         | _ => instr         | _ => instr
# Line 126  Line 133 
133                    defs=CB.CellSet.map {from=rs,to=rt} defs, uses=uses, mem=mem}                    defs=CB.CellSet.map {from=rs,to=rt} defs, uses=uses, mem=mem}
134         | I.MOVE{mvOp, src, dst} => I.MOVE{mvOp=mvOp, src=src, dst=operand dst}         | I.MOVE{mvOp, src, dst} => I.MOVE{mvOp=mvOp, src=src, dst=operand dst}
135         | I.LEA{r32, addr} => I.LEA{r32=replace r32, addr=addr}         | I.LEA{r32, addr} => I.LEA{r32=replace r32, addr=addr}
136         | I.BINARY{binOp, src, dst} => I.BINARY{binOp=binOp, src=src, dst=operand dst}         | I.BINARY{binOp, src, dst} =>
137                I.BINARY{binOp=binOp, src=src, dst=operand dst}
138           | I.SHIFT{shiftOp, src, dst, count} =>
139                I.SHIFT{shiftOp=shiftOp, src=src, count=count, dst=operand dst}
140         | I.CMPXCHG{lock, sz, src, dst} =>         | I.CMPXCHG{lock, sz, src, dst} =>
141            I.CMPXCHG{lock=lock, sz=sz, src=src, dst=operand dst}            I.CMPXCHG{lock=lock, sz=sz, src=src, dst=operand dst}
142         | I.MUL3{dst, src1, src2} => I.MUL3{dst=replace dst, src1=src1, src2=src2}         | I.MUL3{dst, src1, src2} => I.MUL3{dst=replace dst, src1=src1, src2=src2}
# Line 169  Line 179 
179             I.FBINARY{binOp=binOp, src=foperand src, dst=foperand dst}             I.FBINARY{binOp=binOp, src=foperand src, dst=foperand dst}
180         | I.FUCOM opnd => I.FUCOM(foperand opnd)         | I.FUCOM opnd => I.FUCOM(foperand opnd)
181         | I.FUCOMP opnd => I.FUCOMP(foperand opnd)         | I.FUCOMP opnd => I.FUCOMP(foperand opnd)
182           | I.FCOMI opnd => I.FCOMI(foperand opnd)
183           | I.FCOMIP opnd => I.FCOMIP(foperand opnd)
184           | I.FUCOMI opnd => I.FUCOMI(foperand opnd)
185           | I.FUCOMIP opnd => I.FUCOMIP(foperand opnd)
186    
187           (* Pseudo floating point instructions *)           (* Pseudo floating point instructions *)
188         | I.FMOVE{fsize,dst,src} =>         | I.FMOVE{fsize,dst,src} =>
# Line 181  Line 195 
195                      lsrc=foperand lsrc,rsrc=foperand rsrc,dst=dst}                      lsrc=foperand lsrc,rsrc=foperand rsrc,dst=dst}
196         | I.FUNOP{fsize,unOp,src,dst} =>         | I.FUNOP{fsize,unOp,src,dst} =>
197            I.FUNOP{fsize=fsize,unOp=unOp,src=foperand src,dst=dst}            I.FUNOP{fsize=fsize,unOp=unOp,src=foperand src,dst=dst}
198         | I.FCMP{fsize,lsrc,rsrc} =>         | I.FCMP{i,fsize,lsrc,rsrc} =>
199            I.FCMP{fsize=fsize,lsrc=foperand lsrc,rsrc=foperand rsrc}            I.FCMP{i=i,fsize=fsize,lsrc=foperand lsrc,rsrc=foperand rsrc}
200         | _ => instr         | _ => instr
201      (*esac*))      (*esac*))
202    

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