From 43ecf6e8284153ad5b88077268ae33d631c70611 Mon Sep 17 00:00:00 2001 From: Joern Rennecke Date: Tue, 26 Mar 2002 17:22:16 +0000 Subject: * libc/machine/sh/memcpy.S (Large): Fix alignment rounding. Store high part of leading bytes too. --- newlib/libc/machine/sh/memcpy.S | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'newlib/libc/machine/sh') diff --git a/newlib/libc/machine/sh/memcpy.S b/newlib/libc/machine/sh/memcpy.S index 791bc8b10..56e6c6f43 100644 --- a/newlib/libc/machine/sh/memcpy.S +++ b/newlib/libc/machine/sh/memcpy.S @@ -134,7 +134,7 @@ L8_15: /* 8..15 byte memcpy cntd. */ Large: ld.b r2, 0, r63 pta/l Loop_ua, tr1 - andi r3, 7, r7 + ori r3, -8, r7 sub r2, r7, r22 sub r3, r2, r6 add r2, r4, r5 @@ -142,6 +142,7 @@ Large: addi r5, -16, r5 movi 64+8, r27 // could subtract r7 from that. stlo.q r2, 0, r0 + sthi.q r2, 7, r0 ldx.q r22, r6, r0 bgtu/l r27, r4, tr1 -- cgit v1.2.3