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/mltree/x86.sml
ViewVC logotype

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

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

revision 1126, Thu Mar 7 21:16:28 2002 UTC revision 1127, Fri Mar 8 01:35:33 2002 UTC
# Line 762  Line 762 
762                let fun genCmov(dstR, _) =                let fun genCmov(dstR, _) =
763                    let val _ = doExpr(no, dstR, []) (* false branch *)                    let val _ = doExpr(no, dstR, []) (* false branch *)
764                        val cc = cmp(true, ty, cc, t1, t2, [])  (* compare *)                        val cc = cmp(true, ty, cc, t1, t2, [])  (* compare *)
765                    in  mark(I.CMOV{cond=cond cc, src=operand yes, dst=dstR}, an)                    in  mark(I.CMOV{cond=cond cc, src=regOrMem(operand yes),
766                                      dst=dstR}, an)
767                    end                    end
768                in  dstMustBeReg genCmov                in  dstMustBeReg genCmov
769                end                end
# Line 901  Line 902 
902               | T.ZX(32,8,T.LOAD(8,ea,mem)) => load8(ea, mem)               | T.ZX(32,8,T.LOAD(8,ea,mem)) => load8(ea, mem)
903               | T.ZX(32,16,T.LOAD(16,ea,mem)) => load16(ea, mem)               | T.ZX(32,16,T.LOAD(16,ea,mem)) => load16(ea, mem)
904    
905               | T.COND(32, T.CMP(ty, cc, t1, t2), T.LI yes, T.LI no) =>               | T.COND(32, T.CMP(ty, cc, t1, t2), y as T.LI yes, n as T.LI no) =>
906                   setcc(ty, cc, t1, t2, toInt32 yes, toInt32 no)                  (case !arch of (* PentiumPro and higher has CMOVcc *)
907                      Pentium => setcc(ty, cc, t1, t2, toInt32 yes, toInt32 no)
908                    | _ => cmovcc(ty, cc, t1, t2, y, n)
909                    )
910               | T.COND(32, T.CMP(ty, cc, t1, t2), yes, no) =>               | T.COND(32, T.CMP(ty, cc, t1, t2), yes, no) =>
911                  (case !arch of (* PentiumPro and higher has CMOVcc *)                  (case !arch of (* PentiumPro and higher has CMOVcc *)
912                     Pentium => unknownExp exp                     Pentium => unknownExp exp

Legend:
Removed from v.1126  
changed lines
  Added in v.1127

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