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

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 1333, Thu May 22 17:12:13 2003 UTC revision 1334, Thu May 22 22:46:30 2003 UTC
# Line 868  Line 868 
868                       *)                       *)
869                      let val _  = zero eax;                      let val _  = zero eax;
870                          val cc = cmp(true, ty, cc, t1, t2, [])                          val cc = cmp(true, ty, cc, t1, t2, [])
871                      in  case C1-C2 of                          fun c19 (base, scale) = let
                           D as (1 | 2 | 3 | 4 | 5 | 8 | 9) =>  
                           let val (base,scale) =  
                                   case D of  
                                     1 => (NONE, 0)  
                                   | 2 => (NONE, 1)  
                                   | 3 => (SOME C.eax, 1)  
                                   | 4 => (NONE, 2)  
                                   | 5 => (SOME C.eax, 2)  
                                   | 8 => (NONE, 3)  
                                   | 9 => (SOME C.eax, 3)  
872                                val addr = I.Indexed{base=base,                                val addr = I.Indexed{base=base,
873                                                     index=C.eax,                                                     index=C.eax,
874                                                     scale=scale,                                                     scale=scale,
# Line 890  Line 880 
880                                mark(I.LEA{r32=tmpR, addr=addr}, an);                                mark(I.LEA{r32=tmpR, addr=addr}, an);
881                                move(tmp, rdOpnd)                                move(tmp, rdOpnd)
882                            end                            end
883                        in
884                            case C1-C2 of
885                                1 => c19 (NONE, 0)
886                              | 2 => c19 (NONE, 1)
887                              | 3 => c19 (SOME C.eax, 1)
888                              | 4 => c19 (NONE, 2)
889                              | 5 => c19 (SOME C.eax, 2)
890                              | 8 => c19 (NONE, 3)
891                              | 9 => c19 (SOME C.eax, 3)
892                          | D =>                          | D =>
893                             (emit(I.SET{cond=cond(T.Basis.negateCond cc),                             (emit(I.SET{cond=cond(T.Basis.negateCond cc),
894                                         opnd=eax});                                         opnd=eax});
# Line 908  Line 907 
907                                               mem=readonly},                                               mem=readonly},
908                                               r32=tmpR}, an);                                               r32=tmpR}, an);
909                                      move(tmp, rdOpnd)                                      move(tmp, rdOpnd)
910                                  end                                   end)
                            )  
911                      end                      end
912                end (* setcc *)                end (* setcc *)
913    

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