2000-02-18 03:39:52 +08:00
|
|
|
#ifdef __STDC__
|
|
|
|
# define _C_LABEL(x) _ ## x
|
|
|
|
#else
|
|
|
|
# define _C_LABEL(x) _/**/x
|
|
|
|
#endif
|
|
|
|
#define _ASM_LABEL(x) x
|
|
|
|
|
2002-02-08 15:11:13 +08:00
|
|
|
#if __SH5__
|
|
|
|
# if __SH5__ == 32 && __SHMEDIA__
|
|
|
|
# define TEXT .section .text..SHmedia32, "ax"
|
|
|
|
# else
|
|
|
|
# define TEXT .text
|
|
|
|
# endif
|
|
|
|
|
|
|
|
# define _ENTRY(name) \
|
2002-03-06 18:43:18 +08:00
|
|
|
TEXT; .balign 8; .globl name; name:
|
2002-02-08 15:11:13 +08:00
|
|
|
#else
|
2000-02-18 03:39:52 +08:00
|
|
|
#define _ENTRY(name) \
|
|
|
|
.text; .align 2; .globl name; name:
|
2002-02-08 15:11:13 +08:00
|
|
|
#endif /* __SH5__ */
|
2000-02-18 03:39:52 +08:00
|
|
|
|
|
|
|
#define ENTRY(name) \
|
|
|
|
_ENTRY(_C_LABEL(name))
|
|
|
|
|
2003-01-24 23:46:04 +08:00
|
|
|
#if (defined (__sh2__) || defined (__SH2E__) || defined (__sh3__) || defined (__SH3E__) \
|
2002-07-07 08:27:20 +08:00
|
|
|
|| defined (__SH4_SINGLE__) || defined (__SH4__)) \
|
2004-07-30 17:03:39 +08:00
|
|
|
|| defined (__SH4_SINGLE_ONLY__) || defined (__SH5__) || defined (__SH2A__)
|
2000-02-18 03:39:52 +08:00
|
|
|
#define DELAYED_BRANCHES
|
|
|
|
#define SL(branch, dest, in_slot, in_slot_arg2) \
|
|
|
|
branch##.s dest; in_slot, in_slot_arg2
|
|
|
|
#else
|
|
|
|
#define SL(branch, dest, in_slot, in_slot_arg2) \
|
|
|
|
in_slot, in_slot_arg2; branch dest
|
|
|
|
#endif
|
2002-03-06 18:43:18 +08:00
|
|
|
|
|
|
|
#ifdef __LITTLE_ENDIAN__
|
|
|
|
#define SHHI shlld
|
|
|
|
#define SHLO shlrd
|
|
|
|
#else
|
|
|
|
#define SHHI shlrd
|
|
|
|
#define SHLO shlld
|
|
|
|
#endif
|