From: Rich Felker Date: Thu, 19 Jun 2014 06:48:45 +0000 (-0400) Subject: optimize i386 ___tls_get_addr asm X-Git-Tag: v1.1.3~20 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=880c479f0e3a798d826c1c91b38d33e2b3e36580;p=oweals%2Fmusl.git optimize i386 ___tls_get_addr asm --- diff --git a/src/thread/i386/tls.s b/src/thread/i386/tls.s index e1f22629..6e01adf2 100644 --- a/src/thread/i386/tls.s +++ b/src/thread/i386/tls.s @@ -2,7 +2,14 @@ .global ___tls_get_addr .type ___tls_get_addr,@function ___tls_get_addr: - push %eax + mov %gs:4,%edx + mov (%eax),%ecx + cmp %ecx,(%edx) + jc 1f + mov 4(%eax),%eax + add (%edx,%ecx,4),%eax + ret +1: push %eax call __tls_get_addr pop %edx ret