summaryrefslogtreecommitdiff
path: root/sysdeps/i386/i686/multiarch/wcschr.S
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2016-10-09 19:21:56 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2016-10-09 19:21:56 +0200
commit525c181a5a9a95e24d2111b7792608151a40eb84 (patch)
tree8ba16eeb3fb7327e5c3c5bba9c5786d4bb6ccec1 /sysdeps/i386/i686/multiarch/wcschr.S
parent4dd9e35bfd35d3138bc44169baba098005bad51e (diff)
parent7bb5f8a836b916d6ebf7b6921b136e99cea2442d (diff)
Merge commit 'refs/top-bases/t/bigmem' into t/bigmem
Diffstat (limited to 'sysdeps/i386/i686/multiarch/wcschr.S')
-rw-r--r--sysdeps/i386/i686/multiarch/wcschr.S21
1 files changed, 6 insertions, 15 deletions
diff --git a/sysdeps/i386/i686/multiarch/wcschr.S b/sysdeps/i386/i686/multiarch/wcschr.S
index 603d7d79c1..b7f50e46ea 100644
--- a/sysdeps/i386/i686/multiarch/wcschr.S
+++ b/sysdeps/i386/i686/multiarch/wcschr.S
@@ -1,6 +1,6 @@
/* Multiple versions of wcschr
All versions must be listed in ifunc-impl-list.c.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -25,21 +25,12 @@
.text
ENTRY(__wcschr)
.type wcschr, @gnu_indirect_function
- pushl %ebx
- cfi_adjust_cfa_offset (4)
- cfi_rel_offset (ebx, 0)
- LOAD_PIC_REG(bx)
- cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
- jne 1f
- call __init_cpu_features
-1: leal __wcschr_ia32@GOTOFF(%ebx), %eax
- testl $bit_SSE2, CPUID_OFFSET+index_SSE2+__cpu_features@GOTOFF(%ebx)
+ LOAD_GOT_AND_RTLD_GLOBAL_RO
+ LOAD_FUNC_GOT_EAX (__wcschr_ia32)
+ HAS_CPU_FEATURE (SSE2)
jz 2f
- leal __wcschr_sse2@GOTOFF(%ebx), %eax
-2: popl %ebx
- cfi_adjust_cfa_offset (-4);
- cfi_restore (ebx)
- ret
+ LOAD_FUNC_GOT_EAX (__wcschr_sse2)
+2: ret
END(__wcschr)
weak_alias (__wcschr, wcschr)
#endif