From d5503f5e19a6394ac26b2e5c441972a73575886b Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Wed, 23 Jun 2004 14:01:58 +0000 Subject: [PATCH] 2003-07-02 Richard Sandiford * libc/machine/h8300/Makefile.am (lib_a_SOURCES): Add h8sx_strcpy.S. * libc/machine/h8300/defines.h (LEN): New macro. * libc/machine/h8300/memcpy.S: Add h8sx version. * libc/machine/h8300/memset.S: Likewise. * libc/machine/h8300/strcmp.S: Likewise. * libc/machine/h8300/setjmp.S: Use h8sx move instructions. * libc/machine/h8300/h8sx_strcpy.S: New file. 2003-06-30 Richard Sandiford * libc/include/machine/ieeefp.h: Extend __H8300S__ handling to __H8300SX__. * libc/include/machine/setjmp.h: Likewise. * libc/include/sys/config.h: Likewise. * libc/machine/h8300/defines.h: Likewise. * libc/machine/h8300/setjmp.S: Likewise. * libc/machine/h8300/strcmp.S: Likewise. * libc/sys/h8300hms/close.S: Likewise. * libc/sys/h8300hms/fstat.S: Likewise. * libc/sys/h8300hms/lseek.S: Likewise. * libc/sys/h8300hms/read.S: Likewise. * libc/sys/h8300hms/write.S: Likewise. * libc/sys/h8300hms/crt0.S: Likewise. * libc/machine/h8300/setarch.h: Use .h8300sx or .h8300sxn if __H8300SX__ is defined. * libc/sys/h8300hms/setarch.h: Likewise. --- newlib/libc/machine/h8300/h8sx_strcpy.S | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 newlib/libc/machine/h8300/h8sx_strcpy.S diff --git a/newlib/libc/machine/h8300/h8sx_strcpy.S b/newlib/libc/machine/h8300/h8sx_strcpy.S new file mode 100644 index 000000000..db84771a0 --- /dev/null +++ b/newlib/libc/machine/h8300/h8sx_strcpy.S @@ -0,0 +1,14 @@ +; This file exists to provide a movsd implementation of strcpy(). +; Continue to use the generic version for targets other than h8sx. +#ifdef __H8300SX__ +#include "setarch.h" + + .global _strcpy +_strcpy: + stm.l er4-er6,@-er7 + mov.l er0,er6 + mov.l er1,er5 +1: movsd 2f + bra 1b +2: rts/l er4-er6 +#endif