+#if defined(__thumb__)
+IRQ_Trampoline:
+ sub lr, lr, #4
+ push {r0, r1, r2, r3, r4, ip, lr}
+ ldr r1, IRQ_Addr
+ adr lr, IRQ_Trampoline_ret
+ tst r1,#1
+ adrne lr, IRQ_Trampoline_ret_thumb+1
+ bx r1
+IRQ_Trampoline_ret_thumb:
+ .code 16
+ bx pc
+ nop
+ .code 32
+IRQ_Trampoline_ret:
+ ldm sp!, {r0, r1, r2, r3, r4, ip, pc}^
+#endif
+