[Ffmpeg-devel] Fixed vs. Floating Point AAC
Loren Merritt
lorenm
Fri Mar 10 01:00:54 CET 2006
On Thu, 9 Mar 2006, Rich Felker wrote:
> On Thu, Mar 09, 2006 at 01:07:41PM -0800, Loren Merritt wrote:
>> On Thu, 9 Mar 2006, Michael Niedermayer wrote:
>>
>>> so reusing some benchmark proggy here are the results, nicely written and
>>> source attached, feel free to design your own cpu which can do
>>> integer multiplies faster then floatingpoint ones
>>>
>>> latency throughput
>>> P3
>>> int 32*32 ->32 4 1
>>> int 32*32>>32->32 5.5 1/4.5
>>> float 32*32 ->32 5 1/2
>>>
>>> Duron
>>> int 32*32 ->32 4 1/2
>>> int 32*32>>32->32 6 1/4.5
>>> float 32*32 ->32 3.5 1
>>>
>>> Athlon
>>> int 32*32 ->32 4 1/2
>>> int 32*32>>32->32 6.5 1/5
>>> float 32*32 ->32 3.5 1
>>
>> P4
>> int 32*32 ->32 14 1/4.5
>> int 32*32>>32->32 19 1/10.5
>> float 32*32 ->32 7 1/2
>
> How can 32*32>>32 possibly be slower than 32*32? It's just a matter of
> whether you read the result from eax or edx...
It's a matter of whether you put the source in eax and read the result
from edx (32*32>>32) or use any two registers you want (32*32).
In the latency test, the extra 2x mov are expensive. And in the throughput
test, the extra reg caused spillage too.
--Loren Merritt
More information about the ffmpeg-devel
mailing list