about summary refs log tree commit diff
path: root/ports/sysdeps/arm/memcpy.S
diff options
context:
space:
mode:
Diffstat (limited to 'ports/sysdeps/arm/memcpy.S')
-rw-r--r--ports/sysdeps/arm/memcpy.S25
1 files changed, 13 insertions, 12 deletions
diff --git a/ports/sysdeps/arm/memcpy.S b/ports/sysdeps/arm/memcpy.S
index c8f5535140..eb9699ddf6 100644
--- a/ports/sysdeps/arm/memcpy.S
+++ b/ports/sysdeps/arm/memcpy.S
@@ -53,6 +53,7 @@
 #endif
 
 		.text
+		.syntax unified
 
 /* Prototype: void *memcpy(void *dest, const void *src, size_t n); */
 
@@ -84,7 +85,7 @@ ENTRY(memcpy)
 
 	CALGN(	ands	ip, r1, #31		)
 	CALGN(	rsb	r3, ip, #32		)
-	CALGN(	sbcnes	r4, r3, r2		)  @ C is always set here
+	CALGN(	sbcsne	r4, r3, r2		)  @ C is always set here
 	CALGN(	bcs	2f			)
 	CALGN(	adr	r4, 6f			)
 	CALGN(	subs	r2, r2, r3		)  @ C gets set
@@ -139,12 +140,12 @@ ENTRY(memcpy)
 		cfi_restore (r8)
 
 8:		movs	r2, r2, lsl #31
-		ldrneb	r3, [r1], #1
-		ldrcsb	r4, [r1], #1
-		ldrcsb	ip, [r1]
-		strneb	r3, [r0], #1
-		strcsb	r4, [r0], #1
-		strcsb	ip, [r0]
+		ldrbne	r3, [r1], #1
+		ldrbcs	r4, [r1], #1
+		ldrbcs	ip, [r1]
+		strbne	r3, [r0], #1
+		strbcs	r4, [r0], #1
+		strbcs	ip, [r0]
 
 #if defined (__ARM_ARCH_4T__) && defined(__THUMB_INTERWORK__)
 		pop	{r0, r4, lr}
@@ -160,11 +161,11 @@ ENTRY(memcpy)
 
 9:		rsb	ip, ip, #4
 		cmp	ip, #2
-		ldrgtb	r3, [r1], #1
-		ldrgeb	r4, [r1], #1
+		ldrbgt	r3, [r1], #1
+		ldrbge	r4, [r1], #1
 		ldrb	lr, [r1], #1
-		strgtb	r3, [r0], #1
-		strgeb	r4, [r0], #1
+		strbgt	r3, [r0], #1
+		strbge	r4, [r0], #1
 		subs	r2, r2, ip
 		strb	lr, [r0], #1
 		blt	8b
@@ -185,7 +186,7 @@ ENTRY(memcpy)
 
 	CALGN(	ands	ip, r1, #31		)
 	CALGN(	rsb	ip, ip, #32		)
-	CALGN(	sbcnes	r4, ip, r2		)  @ C is always set here
+	CALGN(	sbcsne	r4, ip, r2		)  @ C is always set here
 	CALGN(	subcc	r2, r2, ip		)
 	CALGN(	bcc	15f			)