bug fix in NGI for longs
authorceriel <none@none>
Mon, 24 Jul 1989 10:40:21 +0000 (10:40 +0000)
committerceriel <none@none>
Mon, 24 Jul 1989 10:40:21 +0000 (10:40 +0000)
mach/i86/cg/table
mach/i86/ncg/table

index 2efa3ff..1beab9c 100644 (file)
@@ -1134,8 +1134,8 @@ lol ngi stl $1==$3 && $2==2 | |
 ldl ngi sdl $1==$3 && $2==4 | |
                        remove(indexed)
                        remove(locals, %[ind]>=$1 && %[ind]<$1+4 )
-                       "neg $1(bp)"
                        "neg %($1+2%)(bp)"
+                       "neg $1(bp)"
                        "sbb %($1+2%)(bp),0"              | | |
 lol ads stl $1==$3 && $2==2 | | | | lol $1 adi 2 stl $1 |
 #ifdef REGVARS
@@ -1388,8 +1388,8 @@ loe ngi ste $1==$3 && $2==2 | |
                        setcc({EXTERN2, $1})              | | |
 lde ngi sde $1==$3 && $2==4 | |
                        remove(indirects)
-                       "neg ($1)"
                        "neg ($1+2)"
+                       "neg ($1)"
                        "sbb ($1+2),0"                    | | |
 loe ads ste $1==$3 && $2==2 | regorconst |
                        remove(indirects)
index 81d32d2..ce080e8 100644 (file)
@@ -1640,8 +1640,8 @@ gen neg {LOCAL, $1, 2}
 
 pat ldl ngi sdl $1==$3 && $2==4
 kills indexed,locals %ind+%size > $1 && %ind < $1+4
-gen neg {LOCAL, $1, 2}
-    neg {LOCAL, $1+2, 2}
+gen neg {LOCAL, $1+2, 2}
+    neg {LOCAL, $1, 2}
     sbb {LOCAL, $1+2, 2}, {ANYCON, 0}
  
 pat lol lol adp stl loi stl $1==$2 && $2==$4 && $5<=2
@@ -1744,8 +1744,8 @@ gen neg {EXTERN2, $1}
 
 pat lde ngi sde $1==$3 && $2==4
 kills indirects
-gen neg {EXTERN2, $1}
-    neg {EXTERN2, $1+2}
+gen neg {EXTERN2, $1+2}
+    neg {EXTERN2, $1}
     sbb {EXTERN2, $1+2}, {ANYCON, 0}
 
 pat loe loe adp ste $1==$2 && $1==$4