blob: db30b149b5a623bee4c04b52a12e9c32858eca87 [file] [log] [blame]
Thomas Martitz46454ac2010-08-24 12:38:42 +00001#ifdef __STDC__
2# define _C_LABEL(x) _ ## x
3#else
4# define _C_LABEL(x) _/**/x
5#endif
6#define _ASM_LABEL(x) x
7
8#if __SH5__
9# if __SH5__ == 32 && __SHMEDIA__
10# define TEXT .section .text..SHmedia32, "ax"
11# else
12# define TEXT .text
13# endif
14
15# define _ENTRY(name) \
16 TEXT; .balign 8; .globl name; name:
17#else
18#define _ENTRY(name) \
19 .text; .align 2; .globl name; name:
20#endif /* __SH5__ */
21
22#define ENTRY(name) \
23 _ENTRY(_C_LABEL(name))
24
25#if (defined (__sh2__) || defined (__SH2E__) || defined (__sh3__) || defined (__SH3E__) \
26 || defined (__SH4_SINGLE__) || defined (__SH4__)) \
27 || defined (__SH4_SINGLE_ONLY__) || defined (__SH5__) || defined (__SH2A__)
28#define DELAYED_BRANCHES
29#define SL(branch, dest, in_slot, in_slot_arg2) \
30 branch##.s dest; in_slot, in_slot_arg2
31#else
32#define SL(branch, dest, in_slot, in_slot_arg2) \
33 in_slot, in_slot_arg2; branch dest
34#endif
35
36#ifdef __LITTLE_ENDIAN__
37#define SHHI shlld
38#define SHLO shlrd
39#else
40#define SHHI shlrd
41#define SHLO shlld
42#endif