msvcr110: Add __libm_sse2_sqrt_precise implementation.

This commit is contained in:
Piotr Caban 2014-01-07 15:47:34 +01:00 committed by Alexandre Julliard
parent 50e3f110d0
commit 07566faaca
3 changed files with 11 additions and 1 deletions

View file

@ -1394,7 +1394,7 @@
@ cdecl -arch=i386 _libm_sse2_log_precise() msvcrt.__libm_sse2_log
@ cdecl -arch=i386 _libm_sse2_pow_precise() msvcrt.__libm_sse2_pow
@ cdecl -arch=i386 _libm_sse2_sin_precise() msvcrt.__libm_sse2_sin
@ stub -arch=i386 _libm_sse2_sqrt_precise
@ cdecl -arch=i386 _libm_sse2_sqrt_precise() msvcrt.__libm_sse2_sqrt_precise
@ cdecl -arch=i386 _libm_sse2_tan_precise() msvcrt.__libm_sse2_tan
@ cdecl _loaddll(str) msvcrt._loaddll
@ cdecl -arch=x86_64 _local_unwind(ptr ptr) msvcrt._local_unwind

View file

@ -2185,4 +2185,13 @@ void __cdecl __libm_sse2_tanf(void)
__asm__ __volatile__( "movd %0,%%xmm0" : : "g" (f) );
}
/* __libm_sse2_sqrt_precise */
void __cdecl __libm_sse2_sqrt_precise(void)
{
double d;
__asm__ __volatile__( "movd %%xmm0,%0" : "=m" (d) );
d = sqrt( d );
__asm__ __volatile__( "movd %0,%%xmm0" : : "m" (d) );
}
#endif /* __i386__ */

View file

@ -1538,3 +1538,4 @@
@ cdecl _fstat32(long ptr)
@ cdecl _fstat64i32(long ptr)
@ cdecl _is_exception_typeof(ptr ptr)
@ cdecl -arch=i386 __libm_sse2_sqrt_precise()