Use intel compliant CDQ instead of CLTD in inline asm.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
pull/64/head
Matt Oliver 11 years ago committed by Michael Niedermayer
parent 6d9bdd9d8b
commit 0f2588d7e5
  1. 4
      libavcodec/x86/cabac.h
  2. 2
      libavcodec/x86/mathops.h

@ -219,7 +219,7 @@ static av_always_inline int get_cabac_bypass_sign_x86(CABACContext *c, int val)
"shl $17, %k1 \n\t"
"add %%eax, %%eax \n\t"
"sub %k1, %%eax \n\t"
"cltd \n\t"
"cdq \n\t"
"and %%edx, %k1 \n\t"
"add %k1, %%eax \n\t"
"xor %%edx, %%ecx \n\t"
@ -266,7 +266,7 @@ static av_always_inline int get_cabac_bypass_x86(CABACContext *c)
"shl $17, %k1 \n\t"
"add %%eax, %%eax \n\t"
"sub %k1, %%eax \n\t"
"cltd \n\t"
"cdq \n\t"
"and %%edx, %k1 \n\t"
"add %k1, %%eax \n\t"
"inc %%edx \n\t"

@ -100,7 +100,7 @@ __asm__ volatile(\
#endif /* HAVE_I686 */
#define MASK_ABS(mask, level) \
__asm__ ("cltd \n\t" \
__asm__ ("cdq \n\t" \
"xorl %1, %0 \n\t" \
"subl %1, %0 \n\t" \
: "+a"(level), "=&d"(mask))

Loading…
Cancel
Save