Commit 7e14b808 authored by Reimar Döffinger's avatar Reimar Döffinger

Use cltd instead of cdq asm mnemonic, ICC and gcc support both, but

SunStudio 12 only supports the former.

Originally committed as revision 12275 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 48026fbe
......@@ -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"
......
......@@ -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)\
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment