1570af302Sopenharmony_cistatic inline uintptr_t __get_tp() 2570af302Sopenharmony_ci{ 3570af302Sopenharmony_ci#ifdef __clang__ 4570af302Sopenharmony_ci uintptr_t tp; 5570af302Sopenharmony_ci __asm__ ("l.ori %0, r10, 0" : "=r" (tp) ); 6570af302Sopenharmony_ci#else 7570af302Sopenharmony_ci register uintptr_t tp __asm__("r10"); 8570af302Sopenharmony_ci __asm__ ("" : "=r" (tp) ); 9570af302Sopenharmony_ci#endif 10570af302Sopenharmony_ci return tp; 11570af302Sopenharmony_ci} 12570af302Sopenharmony_ci 13570af302Sopenharmony_ci#define TLS_ABOVE_TP 14570af302Sopenharmony_ci#define GAP_ABOVE_TP 0 15570af302Sopenharmony_ci 16570af302Sopenharmony_ci#define MC_PC regs.pc 17