Bug fix: the BLS instruction did'nt work with block moves of one word.
authorceriel <none@none>
Fri, 25 Jul 1986 15:57:03 +0000 (15:57 +0000)
committerceriel <none@none>
Fri, 25 Jul 1986 15:57:03 +0000 (15:57 +0000)
mach/m68k2/cg/table

index 1713698..62f8dcb 100644 (file)
@@ -2725,9 +2725,9 @@ blm $1 > 12 |     ADDSCR ADDSCR | remove(MEM_ALL)
 /* Wait for restriction nregneeded<2 to be removed
 bls $1 == 2 |  DATASCR ADDSCR ADDSCR |
                                remove(MEM_ALL)
-                               "sub.w #1,%[1]"
                                "asr #1,%[1]"
-                               "beq 2f"
+                               "sub.w #1,%[1]"
+                               "blt 2f"
                                "1:"
                                "move.w (%[3])+,(%[2])+"
                                "dbf %[1],1b"
@@ -2741,9 +2741,9 @@ bls $1 == 2 | STACK |
                                "move.w (sp)+,%[c]"
                                "move.l (sp)+,%[b]"
                                "move.l (sp)+,%[a]"
-                               "sub.w #1,%[c]"
                                "asr #1,%[c]"
-                               "beq 2f"
+                               "sub.w #1,%[c]"
+                               "blt 2f"
                                "1:"
                                "move.w (%[a])+,(%[b])+"
                                "dbf %[c],1b"