2 ({ int *__l; void *__tp; \
3 asm ("stc gbr,%1\n\t" \
8 "1: .long " #x "@tpoff\n\t" \
10 : "=r" (__l), "=r" (__tp)); \
15 ({ int *__l; void *__tp; \
16 register void *__gp __asm__("r12"); \
17 asm ("mov.l 1f,r0\n\t" \
19 "mov.l @(r0,r12),%0\n\t" \
23 "1: .long " #x "@gottpoff\n\t" \
25 : "=r" (__l), "=r" (__tp) : "r" (__gp) : "r0"); \
29 ({ int *__l; void *__tp; \
30 asm ("mov.l r12,@-r15\n\t" \
36 "mov.l @(r0,r12),%0\n\t" \
40 "1: .long " #x "@gottpoff\n\t" \
41 "0: .long _GLOBAL_OFFSET_TABLE_\n\t" \
42 "2: mov.l @r15+,r12" \
43 : "=r" (__l), "=r" (__tp) : : "r0"); \
50 register void *__gp __asm__("r12"); \
51 asm ("mov.l 1f,r4\n\t" \
60 "1: .long " #x "@tlsldm\n\t" \
61 "2: .long __tls_get_addr@plt\n\t" \
62 "4: mov.l 3f,%0\n\t" \
66 "3: .long " #x "@dtpoff\n\t" \
68 : "=r" (__l) : "r" (__gp) : "r0", "r1", "r2", "r3", "r4", "r5", \
69 "r6", "r7", "pr", "t"); \
74 asm ("mov.l r12,@-r15\n\t" \
87 "1: .long " #x "@tlsldm\n\t" \
88 "2: .long __tls_get_addr@plt\n\t" \
89 "0: .long _GLOBAL_OFFSET_TABLE_\n\t" \
90 "4: mov.l 3f,%0\n\t" \
94 "3: .long " #x "@dtpoff\n\t" \
95 "5: mov.l @r15+,r12" \
96 : "=r" (__l) : : "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", \
104 register void *__gp __asm__("r12"); \
105 asm ("mov.l 1f,r4\n\t" \
114 "1: .long " #x "@tlsgd\n\t" \
115 "2: .long __tls_get_addr@plt\n\t" \
117 : "=r" (__l) : "r" (__gp) : "r0", "r1", "r2", "r3", "r4", "r5", \
118 "r6", "r7", "pr", "t"); \
123 asm ("mov.l r12,@-r15\n\t" \
136 "1: .long " #x "@tlsgd\n\t" \
137 "2: .long __tls_get_addr@plt\n\t" \
138 "0: .long _GLOBAL_OFFSET_TABLE_\n\t" \
139 "3: mov.l @r15+,r12" \
140 : "=r" (__l) : : "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", \