summaryrefslogtreecommitdiff
path: root/src/arch/arm/memmove.S
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2022-11-17 12:08:31 +0100
committerFelix Held <felix-coreboot@felixheld.de>2022-11-24 15:15:41 +0000
commit5e3798ca484b48843662c84967cc6ac88fa789dd (patch)
treea8c972d01ac40965d6009db37d6e4ca40640da8c /src/arch/arm/memmove.S
parenta9921bcadb7e8c179c656b7b115bce37cb45f0eb (diff)
arch/arm: Use unified assembly syntax
Taken from Linux which also updated these files. Clang only works with this syntax, so this fixes builds for arm. TESTED on qemu vexpress-a9 and verstage on google/vilboz with BUILD_TIMELESS=1, binaries remain the same. Change-Id: Ia320dc2c460c99d934b8f17dee7748a9def4e750 Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/coreboot/+/63058 Reviewed-by: Martin L Roth <gaumless@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/arch/arm/memmove.S')
-rw-r--r--src/arch/arm/memmove.S22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/arch/arm/memmove.S b/src/arch/arm/memmove.S
index 6595beea97..f5f6340b13 100644
--- a/src/arch/arm/memmove.S
+++ b/src/arch/arm/memmove.S
@@ -4,6 +4,8 @@
#include <arch/asm.h>
#include "asmlib.h"
+.syntax unified
+
/*
* Prototype: void *memmove(void *dest, const void *src, size_t n);
*
@@ -88,20 +90,20 @@ ENTRY(memmove)
7: ldmfd sp!, {r5 - r8}
8: movs r2, r2, lsl #31
- ldrneb r3, [r1, #-1]!
- ldrcsb r4, [r1, #-1]!
- ldrcsb ip, [r1, #-1]
- strneb r3, [r0, #-1]!
- strcsb r4, [r0, #-1]!
- strcsb ip, [r0, #-1]
+ ldrbne r3, [r1, #-1]!
+ ldrbcs r4, [r1, #-1]!
+ ldrbcs ip, [r1, #-1]
+ strbne r3, [r0, #-1]!
+ strbcs r4, [r0, #-1]!
+ strbcs ip, [r0, #-1]
ldmfd sp!, {r0, r4, pc}
9: 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