Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Tracker SCM

SCM Repository

[smlnj] Diff of /sml/trunk/src/MLRISC/x86/x86MC.sml
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/x86/x86MC.sml

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

revision 1333, Thu May 22 17:12:13 2003 UTC revision 1334, Thu May 22 22:46:30 2003 UTC
# Line 348  Line 348 
348                   eBytes(0wx0f::0wxaf::(eImmedExt(rNum dstR, src)))                   eBytes(0wx0f::0wxaf::(eImmedExt(rNum dstR, src)))
349                | _ => error "imull"                | _ => error "imull"
350              )              )
351               | _ => error "binary"
352         end         end
353       | I.MULTDIV{multDivOp, src} => let       | I.MULTDIV{multDivOp, src} => let
354           val mulOp =           val mulOp =
355               (case multDivOp of I.MULL1 => 4 | I.IDIVL1 => 7 | I.DIVL1 => 6)               (case multDivOp of
356                      I.MULL1 => 4 | I.IDIVL1 => 7 | I.DIVL1 => 6
357                    | I.IMULL1 => error "imull1")
358         in encode(0wxf7, mulOp, src)         in encode(0wxf7, mulOp, src)
359         end         end
360       | I.MUL3{dst, src1, src2=i} =>       | I.MUL3{dst, src1, src2=i} =>
# Line 378  Line 381 
381               (*esac*))               (*esac*))
382           | I.NEGL => encode(0wxf7, 3, opnd)           | I.NEGL => encode(0wxf7, 3, opnd)
383           | I.NOTL => encode(0wxf7, 2, opnd)           | I.NOTL => encode(0wxf7, 2, opnd)
384             | _ => error "UNARY is not in DECL/INCL/NEGL,NOTL"
385          (*esac*))          (*esac*))
386       | I.SET{cond,opnd} =>       | I.SET{cond,opnd} =>
387           eBytes(0wx0f :: Word8.+(0wx90,condCode cond) :: eImmedExt(0, opnd))           eBytes(0wx0f :: Word8.+(0wx90,condCode cond) :: eImmedExt(0, opnd))
# Line 424  Line 428 
428                    | I.FSUBL  => (0wxdc, 0wxe0 + dst)                    | I.FSUBL  => (0wxdc, 0wxe0 + dst)
429                    | I.FDIVRL => (0wxdc, 0wxf8 + dst) (* gas XXX *)                    | I.FDIVRL => (0wxdc, 0wxf8 + dst) (* gas XXX *)
430                    | I.FDIVL  => (0wxdc, 0wxf0 + dst)                    | I.FDIVL  => (0wxdc, 0wxf0 + dst)
431    
432                      | _ => error "FBINARY (0w0,_)"
433                  )                  )
434              | (_, _) => error "FBINARY (src, dst) non %st(0)"              | (_, _) => error "FBINARY (src, dst) non %st(0)"
435         in  eBytes[opc1, opc2]         in  eBytes[opc1, opc2]
# Line 486  Line 492 
492                  | I.FPATAN => 0wxf3                  | I.FPATAN => 0wxf3
493                  | I.FDECSTP => 0wxf6                  | I.FDECSTP => 0wxf6
494                  | I.FINCSTP => 0wxf7                  | I.FINCSTP => 0wxf7
495                    | _ => error "FUNARY"
496                 ]                 ]
497       | I.FXCH{opnd} => encodeST(0wxd9, 25, opnd)       | I.FXCH{opnd} => encodeST(0wxd9, 25, opnd)
498    

Legend:
Removed from v.1333  
changed lines
  Added in v.1334

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