]> err.no Git - linux-2.6/blobdiff - arch/blackfin/lib/memcpy.S
Blackfin arch: use do_div() for the 64bit division as pointed out by Bernd
[linux-2.6] / arch / blackfin / lib / memcpy.S
index 34b5a91c215c28c3bd8315b0a77ec3d180d0ee1d..2e6336492b4b3500e4511cd7e9a8e691aba02d3b 100644 (file)
@@ -94,13 +94,20 @@ ENTRY(_memcpy)
 .Lmore_than_seven:
        /* There's at least eight bytes to copy. */
        P2 += -1;       /* because we unroll one iteration */
-       LSETUP(.Lword_loop, .Lword_loop) LC0=P2;
+       LSETUP(.Lword_loops, .Lword_loope) LC0=P2;
        R0 = R1;
        I1 = P1;
        R3 = [I1++];
-.Lword_loop:
+#if ANOMALY_05000202
+.Lword_loops:
+       [P0++] = R3;
+.Lword_loope:
+       R3 = [I1++];
+#else
+.Lword_loops:
+.Lword_loope:
        MNOP || [P0++] = R3 || R3 = [I1++];
-
+#endif
        [P0++] = R3;
        /* Any remaining bytes to copy? */
        R3 = 0x3;