msvcr110: Add __libm_sse2_sqrt_precise implementation.
This commit is contained in:
parent
50e3f110d0
commit
07566faaca
|
@ -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
|
||||
|
|
|
@ -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__ */
|
||||
|
|
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue