mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-23 03:10:05 +00:00
Fix strstr/strcasestr/fma/fmaf on x86_64.
This commit is contained in:
parent
d840539e12
commit
22bb992d51
11
ChangeLog
11
ChangeLog
@ -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
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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,
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user