[libav-devel] [PATCH 2/2] dsputil: use cpuflags in x86 emu_edge_core

Justin Ruggles justin.ruggles at gmail.com
Wed Nov 9 20:02:18 CET 2011


On 11/09/2011 01:56 PM, Ronald S. Bultje wrote:

> Hi,
> 
> On Sun, Nov 6, 2011 at 5:51 PM, Justin Ruggles <justin.ruggles at gmail.com> wrote:
>> avoids passing around the extra argument among all the macros it uses
>> ---
>>  libavcodec/x86/dsputil_yasm.asm |   91 ++++++++++++++++++++-------------------
>>  1 files changed, 46 insertions(+), 45 deletions(-)
> [..]
> 
> 
> I like most of this, but have one question (which we can conveniently ignore):
> 
>>  %macro emu_edge 1
>> -EMU_EDGE_FUNC     %1
>> -VERTICAL_EXTEND   %1
>> -LEFT_EXTEND       %1
>> -RIGHT_EXTEND      %1
>> -SLOW_V_EXTEND     %1
>> -SLOW_LEFT_EXTEND  %1
>> -SLOW_RIGHT_EXTEND %1
>> +INIT_MMX %1
>> +EMU_EDGE_FUNC
>> +VERTICAL_EXTEND
>> +LEFT_EXTEND
>> +RIGHT_EXTEND
>> +SLOW_V_EXTEND
>> +SLOW_LEFT_EXTEND
>> +SLOW_RIGHT_EXTEND
>>  %endmacro
>>
>>  emu_edge sse
> 
> So, I originally didn't use INIT_XMM here. I can't quite remember why,
> but most of this function hardcodes xmm vs mm reg usage because it
> matters for leftover size.
> 
> So, is it possible to init the cpuflags without calling INIT_MMX/XMM?


I think I tried and it didn't work. I'll test it again though since my
memory is fuzzy.

-Justin


More information about the libav-devel mailing list