Fix strstr/strcasestr/fma/fmaf on x86_64.

This commit is contained in:
Jakub Jelinek 2009-09-02 19:43:04 -07:00 committed by Ulrich Drepper
parent d840539e12
commit 22bb992d51
5 changed files with 19 additions and 6 deletions

View File

@ -1,3 +1,14 @@
2009-09-02 Jakub Jelinek <jakub@redhat.com>
* sysdeps/x86_64/multiarch/strstr-c.c (__strstr_sse42, __strstr_sse2):
Add attribute_hidden.
* sysdeps/x86_64/multiarch/strcasestr-c.c (__strcasestr_sse42,
__strcasestr_sse2): Likewise.
* sysdeps/x86_64/multiarch/s_fma.c (__fma_sse2): Add attribute_hidden.
(__fma_fma): Make static.
* sysdeps/x86_64/multiarch/s_fmaf.c (__fmaf_sse2): Add attribute_hidden.
(__fmaf_fma): Make static.
2009-08-31 Andreas Schwab <schwab@redhat.com>
* libio/wfileops.c (_IO_wfile_seekoff): Remove dead code and

View File

@ -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));

View File

@ -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));

View File

@ -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,

View File

@ -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);