43 lines
1001 B
C
43 lines
1001 B
C
#ifdef __STDC__
|
|
# define _C_LABEL(x) _ ## x
|
|
#else
|
|
# define _C_LABEL(x) _/**/x
|
|
#endif
|
|
#define _ASM_LABEL(x) x
|
|
|
|
#if __SH5__
|
|
# if __SH5__ == 32 && __SHMEDIA__
|
|
# define TEXT .section .text..SHmedia32, "ax"
|
|
# else
|
|
# define TEXT .text
|
|
# endif
|
|
|
|
# define _ENTRY(name) \
|
|
TEXT; .balign 8; .globl name; name:
|
|
#else
|
|
#define _ENTRY(name) \
|
|
.text; .align 2; .globl name; name:
|
|
#endif /* __SH5__ */
|
|
|
|
#define ENTRY(name) \
|
|
_ENTRY(_C_LABEL(name))
|
|
|
|
#if (defined (__sh2__) || defined (__SH2E__) || defined (__sh3__) || defined (__SH3E__) \
|
|
|| defined (__SH4_SINGLE__) || defined (__SH4__)) \
|
|
|| defined (__SH4_SINGLE_ONLY__) || defined (__SH5__) || defined (__SH2A__)
|
|
#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
|
|
|
|
#ifdef __LITTLE_ENDIAN__
|
|
#define SHHI shlld
|
|
#define SHLO shlrd
|
|
#else
|
|
#define SHHI shlrd
|
|
#define SHLO shlld
|
|
#endif
|