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