OSDN Git Service

snowdsp: Explicitly state the operand sizes
authorİsmail Dönmez <ismail@namtrac.org>
Mon, 4 Oct 2010 13:08:13 +0000 (13:08 +0000)
committerMartin Storsjö <martin@martin.st>
Mon, 4 Oct 2010 13:08:13 +0000 (13:08 +0000)
Fixes compilation with clang's builtin assembler

Patch by İsmail Dönmez, ismail at namtrac dot org

Originally committed as revision 25331 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/x86/snowdsp_mmx.c
libavutil/x86_cpu.h

index d9d589e..9c1fa42 100644 (file)
@@ -812,7 +812,7 @@ snow_inner_add_yblock_sse2_end_16
              "add %%"REG_c", "PTR_SIZE"*2(%%"REG_a");\n\t"\
              "add %%"REG_c", "PTR_SIZE"*1(%%"REG_a");\n\t"\
              "add %%"REG_c", (%%"REG_a")     \n\t"\
-             "add $"PTR_SIZE"*1, %1          \n\t"\
+             "add"OPSIZE " $"PTR_SIZE"*1, %1 \n\t"\
              "add %%"REG_c", %0              \n\t"\
              "dec %2                         \n\t"\
              "jnz 1b                         \n\t"\
index 08d3146..b1b7d8b 100644 (file)
@@ -25,6 +25,7 @@
 #include "config.h"
 
 #if ARCH_X86_64
+#    define OPSIZE "q"
 #    define REG_a "rax"
 #    define REG_b "rbx"
 #    define REG_c "rcx"
@@ -45,6 +46,7 @@ typedef int64_t x86_reg;
 
 #elif ARCH_X86_32
 
+#    define OPSIZE "l"
 #    define REG_a "eax"
 #    define REG_b "ebx"
 #    define REG_c "ecx"