1 /* Various definitons used the the ARM uClibc assembly code.  */
2 #ifndef _ARM_ASM_H
3 #define _ARM_ASM_H
4 
5 #ifdef __thumb2__
6 # ifdef __ASSEMBLER__
7 .thumb
8 .syntax unified
9 # endif /* __ASSEMBLER__ */
10 #define IT(t, cond) i##t cond
11 #else
12 /* XXX: This can be removed if/when we require an assembler that supports
13    unified assembly syntax.  */
14 #define IT(t, cond)
15 /* Code to return from a thumb function stub.  */
16 # if defined __ARM_ARCH_4T__ && defined __THUMB_INTERWORK__
17 #  define POP_RET pop   {r2, r3}; bx    r3
18 # else
19 #  define POP_RET pop   {r2, pc}
20 # endif
21 #endif /* __thumb2__ */
22 
23 #if defined(__ARM_ARCH_6M__)
24 /* Force arm mode to flush out errors on M profile cores.  */
25 #undef IT
26 #define THUMB1_ONLY 1
27 #endif
28 
29 #endif /* _ARM_ASM_H */
30