From 4bf3f3cbb6add01d3e6a18c73f594b73113b14f2 Mon Sep 17 00:00:00 2001 From: Robin Getz Date: Thu, 21 Jun 2007 11:34:16 +0800 Subject: Blackfin arch: update ANOMALY handling update lists for 533, 537, and add SSYNC workaround into assembly files. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu --- arch/blackfin/lib/memcpy.S | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'arch/blackfin/lib/memcpy.S') diff --git a/arch/blackfin/lib/memcpy.S b/arch/blackfin/lib/memcpy.S index 34b5a91..14a5585 100644 --- a/arch/blackfin/lib/memcpy.S +++ b/arch/blackfin/lib/memcpy.S @@ -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: +#ifdef 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; -- cgit v1.1