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/x86comp-instr-ext.sml
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/x86/instructions/x86comp-instr-ext.sml

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

revision 1002, Fri Nov 30 17:11:33 2001 UTC revision 1003, Fri Dec 7 02:45:32 2001 UTC
# Line 61  Line 61 
61        (case fexp        (case fexp
62          of T.FREG(sz', f) =>          of T.FREG(sz', f) =>
63              if sz <> sz' then error "fstp: sz"              if sz <> sz' then error "fstp: sz"
64              else emitI(fstpInstr(I.FDirect f))              else emitI(I.INSTR(fstpInstr(I.FDirect f)))
65           | _ => error "fstp: fexp"           | _ => error "fstp: fexp"
66        (*esac*))        (*esac*))
67    in    in
68      case stm      case stm
69      of X.PUSHL(rexp) => emit(I.PUSHL(operand rexp), an)      of X.PUSHL(rexp) => emit(I.pushl(operand rexp), an)
70       | X.POP(rexp)   => emit(I.POP(operand rexp), an)       | X.POP(rexp)   => emit(I.pop(operand rexp), an)
71    
72       | X.FSTPS(fexp) => fstp(32, I.FSTPS, fexp)       | X.FSTPS(fexp) => fstp(32, I.FSTPS, fexp)
73       | X.FSTPL(fexp) => fstp(64, I.FSTPL, fexp)       | X.FSTPL(fexp) => fstp(64, I.FSTPL, fexp)
74       | X.FSTPT(fexp) => fstp(80, I.FSTPT, fexp)       | X.FSTPT(fexp) => fstp(80, I.FSTPT, fexp)
75    
76       | X.LEAVE       => emit(I.LEAVE, an)       | X.LEAVE       => emit(I.leave, an)
77       | X.RET(rexp)   => emit(I.RET(SOME(operand rexp)), an)       | X.RET(rexp)   => emit(I.ret(SOME(operand rexp)), an)
78       | X.LOCK_CMPXCHGL(src, dst) =>       | X.LOCK_CMPXCHGL(src, dst) =>
79         (* src must in a register *)         (* src must in a register *)
80         emit(I.CMPXCHG{lock=true,sz=I.I32,         emit(I.cmpxchg{lock=true,sz=I.I32,
81                        src=I.Direct(reduceOperand(operand src)),                        src=I.Direct(reduceOperand(operand src)),
82                        dst=operand dst},an)                        dst=operand dst},an)
83    end    end

Legend:
Removed from v.1002  
changed lines
  Added in v.1003

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