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/amd64/instructions/amd64Props.sml
ViewVC logotype

Diff of /MLRISC/trunk/amd64/instructions/amd64Props.sml

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

revision 2809, Tue Oct 23 07:05:56 2007 UTC revision 2810, Wed Oct 24 07:43:56 2007 UTC
# Line 207  Line 207 
207                 (operandDef dst,                 (operandDef dst,
208                  operandAcc(count, operandAcc (src, operandUse dst)))                  operandAcc(count, operandAcc (src, operandUse dst)))
209               | I.XADD {src, dst, ...} =>               | I.XADD {src, dst, ...} =>
210                 (operandAcc (dst, operandUse src), operandAcc (src, operandUse dst))                 (operandAcc (src, operandDef dst), operandAcc (src, operandUse dst))
211               | I.CMPXCHG {src, dst, ...} =>               | I.CMPXCHG {src, dst, ...} =>
212                 (C.rax::operandDef dst, C.rax::operandAcc (src, operandUse dst))                 (C.rax::operandDef dst, C.rax::operandAcc (src, operandUse dst))
213               | ( I.ENTER _ | I.LEAVE ) => ([C.rsp, C.rbp], [C.rsp, C.rbp])               | ( I.ENTER _ | I.LEAVE ) => ([C.rsp, C.rbp], [C.rsp, C.rbp])
# Line 287  Line 287 
287    
288      fun annotate (i, a) = I.ANNOTATION {i=i, a=a}      fun annotate (i, a) = I.ANNOTATION {i=i, a=a}
289    
290        fun szToInt I.I8 = 8
291          | szToInt I.I16 = 16
292          | szToInt I.I32 = 32
293          | szToInt I.I64 = 64
294    
295      fun replicate(I.ANNOTATION{i,a}) = I.ANNOTATION{i=replicate i,a=a}      fun replicate(I.ANNOTATION{i,a}) = I.ANNOTATION{i=replicate i,a=a}
296  (* FIXME? *)  (* FIXME? *)
297  (*    | replicate(I.COPY{tmp=SOME _, dst, src}) =  (*    | replicate(I.COPY{tmp=SOME _, dst, src}) =
# Line 345  Line 350 
350                  | I.SHRB | I.MULB | I.IMULB | I.XCHGB ) => 8                  | I.SHRB | I.MULB | I.IMULB | I.XCHGB ) => 8
351                | _ => raise Fail "" (* 64*)                | _ => raise Fail "" (* 64*)
352             (* esac *))             (* esac *))
353             | I.XADD {sz, ...} => szToInt sz
354             | I.CMPXCHG {sz, ...} => szToInt sz
355           | _ => raise Fail "" (*64*)           | _ => raise Fail "" (*64*)
356        (* esac *))        (* esac *))
357    
# Line 364  Line 371 
371             (* end case *))             (* end case *))
372           | I.FSQRTS _ => 32           | I.FSQRTS _ => 32
373           | I.FSQRTD _ => 64           | I.FSQRTD _ => 64
374             | I.XORPS _ => 32
375             | I.XORPD _ => 64
376          (* end case *))          (* end case *))
377    
378    end (* AMD64Props *)    end (* AMD64Props *)

Legend:
Removed from v.2809  
changed lines
  Added in v.2810

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