diff --git a/libavcodec/cabac.h b/libavcodec/cabac.h index 65e3a02dfc9ba83f6e68a0b12a2081b51ca595fc..6d5a6f1708f4a2f668ddbe9bd6410fd2d0aa5025 100644 --- a/libavcodec/cabac.h +++ b/libavcodec/cabac.h @@ -327,7 +327,7 @@ static inline void renorm_cabac_decoder_once(CABACContext *c){ //P3:665 athlon:517 asm( "lea -0x100(%0), %%eax \n\t" - "cdq \n\t" + "cltd \n\t" "mov %0, %%eax \n\t" "and %%edx, %0 \n\t" "and %1, %%edx \n\t" @@ -599,7 +599,7 @@ static int get_cabac_bypass(CABACContext *c){ "shl $17, %%ebx \n\t" "add %%eax, %%eax \n\t" "sub %%ebx, %%eax \n\t" - "cdq \n\t" + "cltd \n\t" "and %%edx, %%ebx \n\t" "add %%ebx, %%eax \n\t" "test %%ax, %%ax \n\t" @@ -646,7 +646,7 @@ static av_always_inline int get_cabac_bypass_sign(CABACContext *c, int val){ "shl $17, %%ebx \n\t" "add %%eax, %%eax \n\t" "sub %%ebx, %%eax \n\t" - "cdq \n\t" + "cltd \n\t" "and %%edx, %%ebx \n\t" "add %%ebx, %%eax \n\t" "xor %%edx, %%ecx \n\t" diff --git a/libavutil/internal.h b/libavutil/internal.h index c4c151d8f720d205a22a84638a2711060eeeffbc..749a85c45094032f6e8551376c8e24a6c08098c8 100644 --- a/libavutil/internal.h +++ b/libavutil/internal.h @@ -205,7 +205,7 @@ static inline unsigned int ff_sqrt(unsigned int a) #if defined(ARCH_X86) #define MASK_ABS(mask, level)\ asm volatile(\ - "cdq \n\t"\ + "cltd \n\t"\ "xorl %1, %0 \n\t"\ "subl %1, %0 \n\t"\ : "+a" (level), "=&d" (mask)\