diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2022-11-17 12:08:31 +0100 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2022-11-24 15:15:41 +0000 |
commit | 5e3798ca484b48843662c84967cc6ac88fa789dd (patch) | |
tree | a8c972d01ac40965d6009db37d6e4ca40640da8c /src/arch/arm/memmove.S | |
parent | a9921bcadb7e8c179c656b7b115bce37cb45f0eb (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.S | 22 |
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 |