diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2008-02-28 17:01:35 +0000 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2008-02-28 17:01:35 +0000 |
commit | 7e14b8082d16816151bdecce8ad1c2bbbd003d55 (patch) | |
tree | ab78adc613cfb30afe169cb33ec28a477cf6f6f4 | |
parent | 48026fbef68edeaf4b8053ed551f80122a1d3af4 (diff) | |
download | ffmpeg-7e14b8082d16816151bdecce8ad1c2bbbd003d55.tar.gz |
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
-rw-r--r-- | libavcodec/cabac.h | 6 | ||||
-rw-r--r-- | libavutil/internal.h | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/libavcodec/cabac.h b/libavcodec/cabac.h index 65e3a02dfc..6d5a6f1708 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 c4c151d8f7..749a85c450 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)\ |