# HG changeset patch # User rtognimp # Date 1098546428 0 # Node ID 09b6ce70be8e2e56c3a13ff9fcf5371f8355606d # Parent 39004f891def10fa82f742a1af5675d4a01029e7 Fix for Windows media audio 9 voice codec (format 0x0a) Tested with dll version 9.0.0.2926 diff -r 39004f891def -r 09b6ce70be8e loader/win32.c --- a/loader/win32.c Sat Oct 23 00:05:38 2004 +0000 +++ b/loader/win32.c Sat Oct 23 15:47:08 2004 +0000 @@ -4315,10 +4315,15 @@ ); } -#warning check for _CIpow -static double exp_CIpow(double x, double y) -{ - /*printf("Pow %f %f 0x%Lx 0x%Lx => %f\n", x, y, *((int64_t*)&x), *((int64_t*)&y), pow(x, y));*/ +#define FPU_DOUBLES(var1,var2) double var1,var2; \ + __asm__ __volatile__( "fstpl %0;fwait" : "=m" (var2) : ); \ + __asm__ __volatile__( "fstpl %0;fwait" : "=m" (var1) : ) + +static double exp_CIpow(void) +{ + FPU_DOUBLES(x,y); + + dbgprintf("_CIpow(%lf, %lf)\n", x, y); return pow(x, y); }