diff options
Diffstat (limited to 'lib/builtins/assembly.h')
-rw-r--r-- | lib/builtins/assembly.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/builtins/assembly.h b/lib/builtins/assembly.h index d415a5f8d..b09fcd55a 100644 --- a/lib/builtins/assembly.h +++ b/lib/builtins/assembly.h @@ -22,6 +22,16 @@ #define SEPARATOR ; #endif +#if defined(__arm__) +#if __ARM_ARCH_ISA_THUMB == 2 +#define IT it +#define ITT itt +#else +#define IT @ +#define ITT @ +#endif +#endif + #if defined(__APPLE__) #define HIDDEN(name) .private_extern name #define LOCAL_LABEL(name) L_##name @@ -86,7 +96,9 @@ #ifdef ARM_HAS_BX #define JMP(r) bx r -#define JMPc(r, c) bx##c r +#define JMPc(r, c) \ + IT c; \ + bx##c r #else #define JMP(r) mov pc, r #define JMPc(r, c) mov##c pc, r |