On 07/31/2012 06:36 PM, Justin Ruggles wrote:
> On 07/31/2012 06:17 PM, Diego Biurrun wrote:
>> ---
>>  libavcodec/x86/ac3dsp.asm |    3 ---
>>  libavutil/x86/x86util.asm |   10 +++++-----
>>  2 files changed, 5 insertions(+), 8 deletions(-)
>>
>> diff --git a/libavcodec/x86/ac3dsp.asm b/libavcodec/x86/ac3dsp.asm
>> index 841de90..8a16167 100644
>> --- a/libavcodec/x86/ac3dsp.asm
>> +++ b/libavcodec/x86/ac3dsp.asm
>> @@ -63,12 +63,10 @@ cglobal ac3_exponent_min, 3, 4, 2, exp, reuse_blks, 
>> expn, offset
>>      REP_RET
>>  %endmacro
>>  
>> -%define PMINUB PMINUB_MMX
>>  %define LOOP_ALIGN
>>  INIT_MMX mmx
>>  AC3_EXPONENT_MIN
>>  %if HAVE_MMXEXT
>> -%define PMINUB PMINUB_MMXEXT
>>  %define LOOP_ALIGN ALIGN 16
>>  INIT_MMX mmxext
>>  AC3_EXPONENT_MIN
>> @@ -77,7 +75,6 @@ AC3_EXPONENT_MIN
>>  INIT_XMM sse2
>>  AC3_EXPONENT_MIN
>>  %endif
>> -%undef PMINUB
>>  %undef LOOP_ALIGN
>>  
>>  
>> ;-----------------------------------------------------------------------------
>> diff --git a/libavutil/x86/x86util.asm b/libavutil/x86/x86util.asm
>> index 606659c..27eca3a 100644
>> --- a/libavutil/x86/x86util.asm
>> +++ b/libavutil/x86/x86util.asm
>> @@ -528,14 +528,14 @@
>>      movh  [%7+%8], %4
>>  %endmacro
>>  
>> -%macro PMINUB_MMX 3 ; dst, src, tmp
>> +%macro PMINUB 3 ; dst, src, ignored
>> +%if cpuflag(mmxext)
>> +    pminub   %1, %2
>> +%else ; dst, src, tmp
>>      mova     %3, %1
>>      psubusb  %3, %2
>>      psubb    %1, %3
>> -%endmacro
>> -
>> -%macro PMINUB_MMXEXT 3 ; dst, src, ignored
>> -    pminub   %1, %2
>> +%endif
>>  %endmacro
>>  
>>  %macro SPLATW 2-3 0
> 
> The mmxext version also applies to sse2 but using xmm regs instead of
> mmx. The macro needs to check both flags.

Nevermind. I was mixing up lavu cpuflags with yasm cpuflags. This will
work fine for both mmx and xmm.

-Justin
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to