diff options
author | Jakub Jelinek <jakub@redhat.com> | 2009-09-02 19:43:04 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-09-02 19:43:04 -0700 |
commit | 22bb992d51903bc8cd5f67a207d00e3a6aa8e1a9 (patch) | |
tree | 20b218c6dd450cf694f46e37cbbf4f5d6b4dc00a /sysdeps | |
parent | d840539e1271020600edba752e6ee908c00f66eb (diff) | |
download | glibc-22bb992d51903bc8cd5f67a207d00e3a6aa8e1a9.tar.gz glibc-22bb992d51903bc8cd5f67a207d00e3a6aa8e1a9.tar.xz glibc-22bb992d51903bc8cd5f67a207d00e3a6aa8e1a9.zip |
Fix strstr/strcasestr/fma/fmaf on x86_64.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/x86_64/multiarch/s_fma.c | 4 | ||||
-rw-r--r-- | sysdeps/x86_64/multiarch/s_fmaf.c | 4 | ||||
-rw-r--r-- | sysdeps/x86_64/multiarch/strcasestr-c.c | 3 | ||||
-rw-r--r-- | sysdeps/x86_64/multiarch/strstr-c.c | 3 |
4 files changed, 8 insertions, 6 deletions
diff --git a/sysdeps/x86_64/multiarch/s_fma.c b/sysdeps/x86_64/multiarch/s_fma.c index 40601e9a68..cfecf9b41d 100644 --- a/sysdeps/x86_64/multiarch/s_fma.c +++ b/sysdeps/x86_64/multiarch/s_fma.c @@ -24,10 +24,10 @@ #ifdef HAVE_AVX_SUPPORT -extern double __fma_sse2 (double x, double y, double z); +extern double __fma_sse2 (double x, double y, double z) attribute_hidden; -double +static double __fma_fma (double x, double y, double z) { asm ("vfmadd213sd %3, %2, %0" : "=x" (x) : "0" (x), "x" (y), "xm" (z)); diff --git a/sysdeps/x86_64/multiarch/s_fmaf.c b/sysdeps/x86_64/multiarch/s_fmaf.c index f3d37f8f4a..de1c4b6f41 100644 --- a/sysdeps/x86_64/multiarch/s_fmaf.c +++ b/sysdeps/x86_64/multiarch/s_fmaf.c @@ -23,10 +23,10 @@ #ifdef HAVE_AVX_SUPPORT -extern float __fmaf_sse2 (float x, float y, float z); +extern float __fmaf_sse2 (float x, float y, float z) attribute_hidden; -float +static float __fmaf_fma (float x, float y, float z) { asm ("vfmadd213ss %3, %2, %0" : "=x" (x) : "0" (x), "x" (y), "xm" (z)); diff --git a/sysdeps/x86_64/multiarch/strcasestr-c.c b/sysdeps/x86_64/multiarch/strcasestr-c.c index e6879531bc..3cb5557b67 100644 --- a/sysdeps/x86_64/multiarch/strcasestr-c.c +++ b/sysdeps/x86_64/multiarch/strcasestr-c.c @@ -7,7 +7,8 @@ #include "string/strcasestr.c" -extern char *__strcasestr_sse42 (const char *, const char *); +extern char *__strcasestr_sse42 (const char *, const char *) attribute_hidden; +extern __typeof (__strcasestr_sse2) __strcasestr_sse2 attribute_hidden; #if 1 libc_ifunc (__strcasestr, diff --git a/sysdeps/x86_64/multiarch/strstr-c.c b/sysdeps/x86_64/multiarch/strstr-c.c index cff99b71ef..d593089a87 100644 --- a/sysdeps/x86_64/multiarch/strstr-c.c +++ b/sysdeps/x86_64/multiarch/strstr-c.c @@ -7,6 +7,7 @@ #include "string/strstr.c" -extern char *__strstr_sse42 (const char *, const char *); +extern char *__strstr_sse42 (const char *, const char *) attribute_hidden; +extern __typeof (__strstr_sse2) __strstr_sse2 attribute_hidden; libc_ifunc (strstr, HAS_SSE4_2 ? __strstr_sse42 : __strstr_sse2); |