# HG changeset patch # User Mychaela Falconia # Date 1477695764 0 # Node ID 8dc062c6359b00822ff3bef52dce33e8afb2d91b # Parent f4619719834f546e186db00cfa6d0da2bbaa68df target-utils/libc: memcpy16 and memcpy32 optimized variants implemented diff -r f4619719834f -r 8dc062c6359b target-utils/libc/Makefile --- a/target-utils/libc/Makefile Fri Oct 28 22:55:51 2016 +0000 +++ b/target-utils/libc/Makefile Fri Oct 28 23:02:44 2016 +0000 @@ -4,8 +4,8 @@ AR= arm-elf-ar RANLIB= arm-elf-ranlib -OBJS= atoi.o bzero.o ctype_.o index.o memcpy.o rindex.o strcasecmp.o strcat.o\ - strcmp.o strcpy.o strncat.o strncmp.o strncpy.o +OBJS= atoi.o bzero.o ctype_.o index.o memcpy.o memcpy16.o memcpy32.o rindex.o\ + strcasecmp.o strcat.o strcmp.o strcpy.o strncat.o strncmp.o strncpy.o all: libc.a diff -r f4619719834f -r 8dc062c6359b target-utils/libc/memcpy16.S --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/target-utils/libc/memcpy16.S Fri Oct 28 23:02:44 2016 +0000 @@ -0,0 +1,9 @@ + .text + .code 32 + .globl memcpy16 +memcpy16: +1: subs r2, r2, #2 + ldrcsh r3, [r1], #2 + strcsh r3, [r0], #2 + bhi 1b + bx lr diff -r f4619719834f -r 8dc062c6359b target-utils/libc/memcpy32.S --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/target-utils/libc/memcpy32.S Fri Oct 28 23:02:44 2016 +0000 @@ -0,0 +1,9 @@ + .text + .code 32 + .globl memcpy32 +memcpy32: +1: subs r2, r2, #4 + ldrcs r3, [r1], #4 + strcs r3, [r0], #4 + bhi 1b + bx lr