mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
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
This commit is contained in:
parent
48026fbef6
commit
7e14b8082d
@ -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)\
|
||||
|
Loading…
Reference in New Issue
Block a user