Displaying 2 results from an estimated 2 matches for "tv2337".
Did you mean:
2337
2014 Mar 21
2
About "attempt to fix differences between x86 FPU and SSE calculations"
More specifically, about this patch: http://git.xiph.org/?p=flac.git;a=commitdiff;h=70b078cfd5f9d4b0692c33f018cac3c652b14f90
I downloaded the latest code from git (flac-70b078c), disabled
all SSE optimizations in the code and compiled it (GCC 4.8.2).
This patch doesn't change FLAC output.
Either gcc is too smart and optimizes this new code back to the old,
or this fix is MSVS-specific. Or
2014 Mar 22
2
About "attempt to fix differences between x86 FPU and SSE calculations"
...optim made by GCC
I added "XIPH_ADD_CFLAGS([-mfpmath=387])" into configure.ac
Still the result is different from SSE version.
---------------
MSVS adds two instructions to the generated code after the patch:
fld DWORD PTR [eax]
inc ecx
fmul ST(0), ST(1)
add eax, 4
fstp DWORD PTR tv2337[esp+20] <- this: (copy from FP stack to tmp)
fld DWORD PTR tv2337[esp+20] <- and this (copy from tmp to FP stack)
fadd DWORD PTR [ebx+ecx*4-4]
fstp DWORD PTR [ebx+ecx*4-4]
However GCC doesn't do this:
lea ecx, [eax+2]
fld DWORD PTR [edx+ecx*4]
fmul st, st(1)
fadd DWORD PTR...