mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-15 02:09:19 +08:00
9a6831be86
* 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 <rsandifo@redhat.com> * 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.
139 lines
2.0 KiB
C
139 lines
2.0 KiB
C
|
|
#define A0 r0
|
|
#define A0L r0l
|
|
#define A0H r0h
|
|
|
|
#define A1 r1
|
|
#define A1L r1l
|
|
#define A1H r1h
|
|
|
|
#define A2 r2
|
|
#define A2L r2l
|
|
#define A2H r2h
|
|
|
|
#define A3 r3
|
|
#define A3L r3l
|
|
#define A3H r3h
|
|
|
|
#define S0 r4
|
|
#define S0L r4l
|
|
#define S0H r4h
|
|
|
|
#define S1 r5
|
|
#define S1L r5l
|
|
#define S1H r5h
|
|
|
|
#define S2 r6
|
|
#define S2L r6l
|
|
#define S2H r6h
|
|
|
|
#ifdef __H8300__
|
|
|
|
#define MOVP mov.w /* pointers are 16 bits */
|
|
#define ADDP add.w
|
|
#define CMPP cmp.w
|
|
#define PUSHP push
|
|
#define POPP pop
|
|
|
|
#define A0P r0
|
|
#define A1P r1
|
|
#define A2P r2
|
|
#define A3P r3
|
|
#define S0P r4
|
|
#define S1P r5
|
|
#define S2P r6
|
|
|
|
#endif /* __H8300__ */
|
|
|
|
#ifdef __H8300H__
|
|
|
|
#ifdef __NORMAL_MODE__
|
|
|
|
#define MOVP mov.w /* pointers are 16 bits */
|
|
#define ADDP add.w
|
|
#define CMPP cmp.w
|
|
#define PUSHP push
|
|
#define POPP pop
|
|
|
|
#define A0P r0
|
|
#define A1P r1
|
|
#define A2P r2
|
|
#define A3P r3
|
|
#define S0P r4
|
|
#define S1P r5
|
|
#define S2P r6
|
|
|
|
#else /* !__NORMAL_MODE__ */
|
|
|
|
#define MOVP mov.l /* pointers are 32 bits */
|
|
#define ADDP add.l
|
|
#define CMPP cmp.l
|
|
#define PUSHP push.l
|
|
#define POPP pop.l
|
|
|
|
#define A0P er0
|
|
#define A1P er1
|
|
#define A2P er2
|
|
#define A3P er3
|
|
#define S0P er4
|
|
#define S1P er5
|
|
#define S2P er6
|
|
|
|
#endif /* !__NORMAL_MODE__ */
|
|
|
|
#define A0E e0
|
|
#define A1E e1
|
|
#define A2E e2
|
|
#define A3E e3
|
|
|
|
#endif /* __H8300H__ */
|
|
|
|
#if defined (__H8300S__) || defined (__H8300SX__)
|
|
|
|
#ifdef __NORMAL_MODE__
|
|
|
|
#define MOVP mov.w /* pointers are 16 bits */
|
|
#define ADDP add.w
|
|
#define CMPP cmp.w
|
|
#define PUSHP push
|
|
#define POPP pop
|
|
|
|
#define A0P r0
|
|
#define A1P r1
|
|
#define A2P r2
|
|
#define A3P r3
|
|
#define S0P r4
|
|
#define S1P r5
|
|
#define S2P r6
|
|
|
|
#else /* !__NORMAL_MODE__ */
|
|
|
|
#define MOVP mov.l /* pointers are 32 bits */
|
|
#define ADDP add.l
|
|
#define CMPP cmp.l
|
|
#define PUSHP push.l
|
|
#define POPP pop.l
|
|
|
|
#define A0P er0
|
|
#define A1P er1
|
|
#define A2P er2
|
|
#define A3P er3
|
|
#define S0P er4
|
|
#define S1P er5
|
|
#define S2P er6
|
|
|
|
#endif /* !__NORMAL_MODE__ */
|
|
|
|
#define A0E e0
|
|
#define A1E e1
|
|
#define A2E e2
|
|
#define A3E e3
|
|
|
|
|
|
#ifdef __NORMAL_MODE__
|
|
#define LEN(X) X
|
|
#else
|
|
#define LEN(X) e##X
|
|
#endif
|
|
#endif /* __H8300S__ */
|