Browse Source

Do not misuse long as the size of a register in x86.
typedef x86_reg as the appropriate size and use it instead.

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

Ramiro Polla 17 years ago
parent
commit
40d0e665d0

+ 4 - 3
libavcodec/i386/cavsdsp_mmx.c

@@ -25,6 +25,7 @@
 #include "dsputil.h"
 #include "dsputil_mmx.h"
 #include "common.h"
+#include "x86_cpu.h"
 
 /*****************************************************************************
  *
@@ -301,7 +302,7 @@ static void cavs_idct8_add_mmx(uint8_t *dst, int16_t *block, int stride)
         VOP(%%mm1, %%mm2, %%mm3, %%mm4, %%mm5, %%mm0, OP)\
         \
         : "+a"(src), "+c"(dst)\
-        : "S"((long)srcStride), "D"((long)dstStride), "m"(ADD), "m"(MUL1), "m"(MUL2)\
+        : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "m"(ADD), "m"(MUL1), "m"(MUL2)\
         : "memory"\
      );\
      if(h==16){\
@@ -316,7 +317,7 @@ static void cavs_idct8_add_mmx(uint8_t *dst, int16_t *block, int stride)
             VOP(%%mm3, %%mm4, %%mm5, %%mm0, %%mm1, %%mm2, OP)\
             \
            : "+a"(src), "+c"(dst)\
-           : "S"((long)srcStride), "D"((long)dstStride), "m"(ADD),  "m"(MUL1), "m"(MUL2)\
+           : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "m"(ADD),  "m"(MUL1), "m"(MUL2)\
            : "memory"\
         );\
      }\
@@ -367,7 +368,7 @@ static void OPNAME ## cavs_qpel8_h_ ## MMX(uint8_t *dst, uint8_t *src, int dstSt
         "decl %2                    \n\t"\
         " jnz 1b                    \n\t"\
         : "+a"(src), "+c"(dst), "+m"(h)\
-        : "d"((long)srcStride), "S"((long)dstStride), "m"(ff_pw_5), "m"(ff_pw_4)\
+        : "d"((x86_reg)srcStride), "S"((x86_reg)dstStride), "m"(ff_pw_5), "m"(ff_pw_4)\
         : "memory"\
     );\
 }\

+ 1 - 1
libavcodec/i386/cpuid.c

@@ -42,7 +42,7 @@ int mm_support(void)
     int rval = 0;
     int eax, ebx, ecx, edx;
     int max_std_level, max_ext_level, std_caps=0, ext_caps=0;
-    long a, c;
+    x86_reg a, c;
 
     asm volatile (
         /* See if CPUID instruction is supported ... */

+ 2 - 2
libavcodec/i386/dsputil_h264_template_mmx.c

@@ -249,7 +249,7 @@ static void H264_CHROMA_MC4_TMPL(uint8_t *dst/*align 4*/, uint8_t *src/*align 1*
         "sub $2, %2                 \n\t"
         "jnz 1b                     \n\t"
         : "+r"(dst), "+r"(src), "+r"(h)
-        : "r"((long)stride), "m"(ff_pw_32), "m"(x), "m"(y)
+        : "r"((x86_reg)stride), "m"(ff_pw_32), "m"(x), "m"(y)
     );
 }
 
@@ -300,7 +300,7 @@ static void H264_CHROMA_MC2_TMPL(uint8_t *dst/*align 2*/, uint8_t *src/*align 1*
         "sub $1, %2\n\t"
         "jnz 1b\n\t"
         : "+r" (dst), "+r"(src), "+r"(h)
-        : "m" (ff_pw_32), "r"((long)stride)
+        : "m" (ff_pw_32), "r"((x86_reg)stride)
         : "%esi");
 
 }

+ 4 - 4
libavcodec/i386/dsputil_h264_template_ssse3.c

@@ -72,7 +72,7 @@ static void H264_CHROMA_MC8_TMPL(uint8_t *dst/*align 8*/, uint8_t *src/*align 1*
                 "lea (%0,%3,2), %0 \n\t"
                 "jg 1b \n\t"
                 :"+r"(dst), "+r"(src), "+r"(h)
-                :"r"((long)stride)
+                :"r"((x86_reg)stride)
             );
         } else {
             asm volatile(
@@ -100,7 +100,7 @@ static void H264_CHROMA_MC8_TMPL(uint8_t *dst/*align 8*/, uint8_t *src/*align 1*
                 "lea (%0,%3,2), %0 \n\t"
                 "jg 1b \n\t"
                 :"+r"(dst), "+r"(src), "+r"(h)
-                :"r"((long)stride)
+                :"r"((x86_reg)stride)
             );
         }
         return;
@@ -154,7 +154,7 @@ static void H264_CHROMA_MC8_TMPL(uint8_t *dst/*align 8*/, uint8_t *src/*align 1*
         "lea (%0,%3,2), %0 \n\t"
         "jg 1b \n\t"
         :"+r"(dst), "+r"(src), "+r"(h)
-        :"r"((long)stride)
+        :"r"((x86_reg)stride)
     );
 }
 
@@ -202,7 +202,7 @@ static void H264_CHROMA_MC4_TMPL(uint8_t *dst/*align 4*/, uint8_t *src/*align 1*
         "lea (%0,%3,2), %0 \n\t"
         "jg 1b \n\t"
         :"+r"(dst), "+r"(src), "+r"(h)
-        :"r"((long)stride)
+        :"r"((x86_reg)stride)
     );
 }
 

+ 32 - 32
libavcodec/i386/dsputil_mmx.c

@@ -240,7 +240,7 @@ void put_pixels_clamped_mmx(const DCTELEM *block, uint8_t *pixels, int line_size
                 "movq   %%mm2, (%0, %1)         \n\t"
                 "movq   %%mm4, (%0, %1, 2)      \n\t"
                 "movq   %%mm6, (%0, %2)         \n\t"
-                ::"r" (pix), "r" ((long)line_size), "r" ((long)line_size*3), "m"(*p)
+                ::"r" (pix), "r" ((x86_reg)line_size), "r" ((x86_reg)line_size*3), "m"(*p)
                 :"memory");
         pix += line_size*4;
         p += 32;
@@ -265,7 +265,7 @@ void put_pixels_clamped_mmx(const DCTELEM *block, uint8_t *pixels, int line_size
             "movq       %%mm2, (%0, %1)         \n\t"
             "movq       %%mm4, (%0, %1, 2)      \n\t"
             "movq       %%mm6, (%0, %2)         \n\t"
-            ::"r" (pix), "r" ((long)line_size), "r" ((long)line_size*3), "r"(p)
+            ::"r" (pix), "r" ((x86_reg)line_size), "r" ((x86_reg)line_size*3), "r"(p)
             :"memory");
 }
 
@@ -349,7 +349,7 @@ static void put_pixels4_mmx(uint8_t *block, const uint8_t *pixels, int line_size
          "subl $4, %0                   \n\t"
          "jnz 1b                        \n\t"
          : "+g"(h), "+r" (pixels),  "+r" (block)
-         : "r"((long)line_size)
+         : "r"((x86_reg)line_size)
          : "%"REG_a, "memory"
         );
 }
@@ -375,7 +375,7 @@ static void put_pixels8_mmx(uint8_t *block, const uint8_t *pixels, int line_size
          "subl $4, %0                   \n\t"
          "jnz 1b                        \n\t"
          : "+g"(h), "+r" (pixels),  "+r" (block)
-         : "r"((long)line_size)
+         : "r"((x86_reg)line_size)
          : "%"REG_a, "memory"
         );
 }
@@ -409,7 +409,7 @@ static void put_pixels16_mmx(uint8_t *block, const uint8_t *pixels, int line_siz
          "subl $4, %0                   \n\t"
          "jnz 1b                        \n\t"
          : "+g"(h), "+r" (pixels),  "+r" (block)
-         : "r"((long)line_size)
+         : "r"((x86_reg)line_size)
          : "%"REG_a, "memory"
         );
 }
@@ -431,7 +431,7 @@ static void put_pixels16_sse2(uint8_t *block, const uint8_t *pixels, int line_si
          "lea (%2,%3,4), %2             \n\t"
          "jnz 1b                        \n\t"
          : "+g"(h), "+r" (pixels),  "+r" (block)
-         : "r"((long)line_size), "r"(3L*line_size)
+         : "r"((x86_reg)line_size), "r"((x86_reg)3L*line_size)
          : "memory"
         );
 }
@@ -457,7 +457,7 @@ static void avg_pixels16_sse2(uint8_t *block, const uint8_t *pixels, int line_si
          "lea (%2,%3,4), %2             \n\t"
          "jnz 1b                        \n\t"
          : "+g"(h), "+r" (pixels),  "+r" (block)
-         : "r"((long)line_size), "r"(3L*line_size)
+         : "r"((x86_reg)line_size), "r"((x86_reg)3L*line_size)
          : "memory"
         );
 }
@@ -480,7 +480,7 @@ static void clear_blocks_mmx(DCTELEM *blocks)
 }
 
 static void add_bytes_mmx(uint8_t *dst, uint8_t *src, int w){
-    long i=0;
+    x86_reg i=0;
     asm volatile(
         "1:                             \n\t"
         "movq  (%1, %0), %%mm0          \n\t"
@@ -495,14 +495,14 @@ static void add_bytes_mmx(uint8_t *dst, uint8_t *src, int w){
         "cmp %3, %0                     \n\t"
         " jb 1b                         \n\t"
         : "+r" (i)
-        : "r"(src), "r"(dst), "r"((long)w-15)
+        : "r"(src), "r"(dst), "r"((x86_reg)w-15)
     );
     for(; i<w; i++)
         dst[i+0] += src[i+0];
 }
 
 static void add_bytes_l2_mmx(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w){
-    long i=0;
+    x86_reg i=0;
     asm volatile(
         "1:                             \n\t"
         "movq   (%2, %0), %%mm0         \n\t"
@@ -515,7 +515,7 @@ static void add_bytes_l2_mmx(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w){
         "cmp %4, %0                     \n\t"
         " jb 1b                         \n\t"
         : "+r" (i)
-        : "r"(dst), "r"(src1), "r"(src2), "r"((long)w-15)
+        : "r"(dst), "r"(src1), "r"(src2), "r"((x86_reg)w-15)
     );
     for(; i<w; i++)
         dst[i] = src1[i] + src2[i];
@@ -689,8 +689,8 @@ static void h263_h_loop_filter_mmx(uint8_t *src, int stride, int qscale){
         "movd %%mm6, (%1,%3)            \n\t"
         :: "r" (src),
            "r" (src + 4*stride),
-           "r" ((long)   stride ),
-           "r" ((long)(3*stride))
+           "r" ((x86_reg)   stride ),
+           "r" ((x86_reg)(3*stride))
     );
     }
 }
@@ -723,7 +723,7 @@ static void draw_edges_mmx(uint8_t *buf, int wrap, int width, int height, int w)
                 "cmp %3, %0                     \n\t"
                 " jb 1b                         \n\t"
                 : "+r" (ptr)
-                : "r" ((long)wrap), "r" ((long)width), "r" (ptr + wrap*height)
+                : "r" ((x86_reg)wrap), "r" ((x86_reg)width), "r" (ptr + wrap*height)
         );
     }
     else
@@ -746,7 +746,7 @@ static void draw_edges_mmx(uint8_t *buf, int wrap, int width, int height, int w)
                 "cmp %3, %0                     \n\t"
                 " jb 1b                         \n\t"
                 : "+r" (ptr)
-                : "r" ((long)wrap), "r" ((long)width), "r" (ptr + wrap*height)
+                : "r" ((x86_reg)wrap), "r" ((x86_reg)width), "r" (ptr + wrap*height)
         );
     }
 
@@ -764,7 +764,7 @@ static void draw_edges_mmx(uint8_t *buf, int wrap, int width, int height, int w)
                 "cmp %4, %0                     \n\t"
                 " jb 1b                         \n\t"
                 : "+r" (ptr)
-                : "r" ((long)buf - (long)ptr - w), "r" ((long)-wrap), "r" ((long)-wrap*3), "r" (ptr+width+2*w)
+                : "r" ((x86_reg)buf - (x86_reg)ptr - w), "r" ((x86_reg)-wrap), "r" ((x86_reg)-wrap*3), "r" (ptr+width+2*w)
         );
         ptr= last_line + (i + 1) * wrap - w;
         asm volatile(
@@ -778,7 +778,7 @@ static void draw_edges_mmx(uint8_t *buf, int wrap, int width, int height, int w)
                 "cmp %4, %0                     \n\t"
                 " jb 1b                         \n\t"
                 : "+r" (ptr)
-                : "r" ((long)last_line - (long)ptr - w), "r" ((long)wrap), "r" ((long)wrap*3), "r" (ptr+width+2*w)
+                : "r" ((x86_reg)last_line - (x86_reg)ptr - w), "r" ((x86_reg)wrap), "r" ((x86_reg)wrap*3), "r" (ptr+width+2*w)
         );
     }
 }
@@ -786,8 +786,8 @@ static void draw_edges_mmx(uint8_t *buf, int wrap, int width, int height, int w)
 #define PAETH(cpu, abs3)\
 void add_png_paeth_prediction_##cpu(uint8_t *dst, uint8_t *src, uint8_t *top, int w, int bpp)\
 {\
-    long i = -bpp;\
-    long end = w-3;\
+    x86_reg i = -bpp;\
+    x86_reg end = w-3;\
     asm volatile(\
         "pxor      %%mm7, %%mm7 \n"\
         "movd    (%1,%0), %%mm0 \n"\
@@ -830,7 +830,7 @@ void add_png_paeth_prediction_##cpu(uint8_t *dst, uint8_t *src, uint8_t *top, in
         "cmp       %5, %0 \n"\
         "jle 1b \n"\
         :"+r"(i)\
-        :"r"(dst), "r"(top), "r"(src), "r"((long)bpp), "g"(end),\
+        :"r"(dst), "r"(top), "r"(src), "r"((x86_reg)bpp), "g"(end),\
          "m"(ff_pw_255)\
         :"memory"\
     );\
@@ -994,7 +994,7 @@ static void OPNAME ## mpeg4_qpel16_h_lowpass_mmx2(uint8_t *dst, uint8_t *src, in
         "decl %2                          \n\t"\
         " jnz 1b                          \n\t"\
         : "+a"(src), "+c"(dst), "+D"(h)\
-        : "d"((long)srcStride), "S"((long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(temp), "m"(ROUNDER)\
+        : "d"((x86_reg)srcStride), "S"((x86_reg)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(temp), "m"(ROUNDER)\
         : "memory"\
     );\
 }\
@@ -1105,7 +1105,7 @@ static void OPNAME ## mpeg4_qpel8_h_lowpass_mmx2(uint8_t *dst, uint8_t *src, int
         "decl %2                          \n\t"\
         " jnz 1b                          \n\t"\
         : "+a"(src), "+c"(dst), "+d"(h)\
-        : "S"((long)srcStride), "D"((long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(ROUNDER)\
+        : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(ROUNDER)\
         : "memory"\
     );\
 }\
@@ -1169,7 +1169,7 @@ static void OPNAME ## mpeg4_qpel16_v_lowpass_ ## MMX(uint8_t *dst, uint8_t *src,
         "decl %2                        \n\t"\
         " jnz 1b                        \n\t"\
         : "+r" (src), "+r" (temp_ptr), "+r"(count)\
-        : "r" ((long)srcStride)\
+        : "r" ((x86_reg)srcStride)\
         : "memory"\
     );\
     \
@@ -1216,7 +1216,7 @@ static void OPNAME ## mpeg4_qpel16_v_lowpass_ ## MMX(uint8_t *dst, uint8_t *src,
         " jnz 1b                        \n\t"\
         \
         : "+r"(temp_ptr), "+r"(dst), "+g"(count)\
-        : "r"((long)dstStride), "r"(2*(long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(ROUNDER), "g"(4-14*(long)dstStride)\
+        : "r"((x86_reg)dstStride), "r"(2*(x86_reg)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(ROUNDER), "g"(4-14*(x86_reg)dstStride)\
         :"memory"\
     );\
 }\
@@ -1241,7 +1241,7 @@ static void OPNAME ## mpeg4_qpel8_v_lowpass_ ## MMX(uint8_t *dst, uint8_t *src,
         "decl %2                        \n\t"\
         " jnz 1b                        \n\t"\
         : "+r" (src), "+r" (temp_ptr), "+r"(count)\
-        : "r" ((long)srcStride)\
+        : "r" ((x86_reg)srcStride)\
         : "memory"\
     );\
     \
@@ -1276,7 +1276,7 @@ static void OPNAME ## mpeg4_qpel8_v_lowpass_ ## MMX(uint8_t *dst, uint8_t *src,
         " jnz 1b                        \n\t"\
          \
         : "+r"(temp_ptr), "+r"(dst), "+g"(count)\
-        : "r"((long)dstStride), "r"(2*(long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(ROUNDER), "g"(4-6*(long)dstStride)\
+        : "r"((x86_reg)dstStride), "r"(2*(x86_reg)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(ROUNDER), "g"(4-6*(x86_reg)dstStride)\
         : "memory"\
    );\
 }\
@@ -1839,7 +1839,7 @@ static void vorbis_inverse_coupling_sse(float *mag, float *ang, int blocksize)
 }
 
 static void vector_fmul_3dnow(float *dst, const float *src, int len){
-    long i = (len-4)*4;
+    x86_reg i = (len-4)*4;
     asm volatile(
         "1: \n\t"
         "movq    (%1,%0), %%mm0 \n\t"
@@ -1857,7 +1857,7 @@ static void vector_fmul_3dnow(float *dst, const float *src, int len){
     );
 }
 static void vector_fmul_sse(float *dst, const float *src, int len){
-    long i = (len-8)*4;
+    x86_reg i = (len-8)*4;
     asm volatile(
         "1: \n\t"
         "movaps    (%1,%0), %%xmm0 \n\t"
@@ -1875,7 +1875,7 @@ static void vector_fmul_sse(float *dst, const float *src, int len){
 }
 
 static void vector_fmul_reverse_3dnow2(float *dst, const float *src0, const float *src1, int len){
-    long i = len*4-16;
+    x86_reg i = len*4-16;
     asm volatile(
         "1: \n\t"
         "pswapd   8(%1), %%mm0 \n\t"
@@ -1893,7 +1893,7 @@ static void vector_fmul_reverse_3dnow2(float *dst, const float *src0, const floa
     asm volatile("femms");
 }
 static void vector_fmul_reverse_sse(float *dst, const float *src0, const float *src1, int len){
-    long i = len*4-32;
+    x86_reg i = len*4-32;
     asm volatile(
         "1: \n\t"
         "movaps        16(%1), %%xmm0 \n\t"
@@ -1914,7 +1914,7 @@ static void vector_fmul_reverse_sse(float *dst, const float *src0, const float *
 
 static void vector_fmul_add_add_3dnow(float *dst, const float *src0, const float *src1,
                                       const float *src2, int src3, int len, int step){
-    long i = (len-4)*4;
+    x86_reg i = (len-4)*4;
     if(step == 2 && src3 == 0){
         dst += (len-4)*2;
         asm volatile(
@@ -1963,7 +1963,7 @@ static void vector_fmul_add_add_3dnow(float *dst, const float *src0, const float
 }
 static void vector_fmul_add_add_sse(float *dst, const float *src0, const float *src1,
                                     const float *src2, int src3, int len, int step){
-    long i = (len-8)*4;
+    x86_reg i = (len-8)*4;
     if(step == 2 && src3 == 0){
         dst += (len-8)*2;
         asm volatile(

+ 22 - 22
libavcodec/i386/dsputil_mmx_avg.h

@@ -55,7 +55,7 @@ static void DEF(put_pixels8_x2)(uint8_t *block, const uint8_t *pixels, int line_
         "subl $4, %0                    \n\t"
         "jnz 1b                         \n\t"
         :"+g"(h), "+S"(pixels), "+D"(block)
-        :"r" ((long)line_size)
+        :"r" ((x86_reg)line_size)
         :"%"REG_a, "memory");
 }
 
@@ -105,7 +105,7 @@ static void DEF(put_pixels4_l2)(uint8_t *dst, uint8_t *src1, uint8_t *src2, int
 #else
         :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
 #endif
-        :"S"((long)src1Stride), "D"((long)dstStride)
+        :"S"((x86_reg)src1Stride), "D"((x86_reg)dstStride)
         :"memory");
 }
 
@@ -152,7 +152,7 @@ static void DEF(put_pixels8_l2)(uint8_t *dst, uint8_t *src1, uint8_t *src2, int
 #else
         :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
 #endif
-        :"S"((long)src1Stride), "D"((long)dstStride)
+        :"S"((x86_reg)src1Stride), "D"((x86_reg)dstStride)
         :"memory");
 //the following should be used, though better not with gcc ...
 /*        :"+g"(h), "+r"(src1), "+r"(src2), "+r"(dst)
@@ -222,7 +222,7 @@ static void DEF(put_no_rnd_pixels8_l2)(uint8_t *dst, uint8_t *src1, uint8_t *src
 #else
         :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
 #endif
-        :"S"((long)src1Stride), "D"((long)dstStride)
+        :"S"((x86_reg)src1Stride), "D"((x86_reg)dstStride)
         :"memory");
 //the following should be used, though better not with gcc ...
 /*        :"+g"(h), "+r"(src1), "+r"(src2), "+r"(dst)
@@ -277,7 +277,7 @@ static void DEF(avg_pixels4_l2)(uint8_t *dst, uint8_t *src1, uint8_t *src2, int
 #else
         :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
 #endif
-        :"S"((long)src1Stride), "D"((long)dstStride)
+        :"S"((x86_reg)src1Stride), "D"((x86_reg)dstStride)
         :"memory");
 }
 
@@ -329,7 +329,7 @@ static void DEF(avg_pixels8_l2)(uint8_t *dst, uint8_t *src1, uint8_t *src2, int
 #else
         :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
 #endif
-        :"S"((long)src1Stride), "D"((long)dstStride)
+        :"S"((x86_reg)src1Stride), "D"((x86_reg)dstStride)
         :"memory");
 //the following should be used, though better not with gcc ...
 /*        :"+g"(h), "+r"(src1), "+r"(src2), "+r"(dst)
@@ -373,7 +373,7 @@ static void DEF(put_pixels16_x2)(uint8_t *block, const uint8_t *pixels, int line
         "subl $4, %0                    \n\t"
         "jnz 1b                         \n\t"
         :"+g"(h), "+S"(pixels), "+D"(block)
-        :"r" ((long)line_size)
+        :"r" ((x86_reg)line_size)
         :"%"REG_a, "memory");
 }
 
@@ -417,7 +417,7 @@ static void DEF(put_pixels16_l2)(uint8_t *dst, uint8_t *src1, uint8_t *src2, int
 #else
         :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
 #endif
-        :"S"((long)src1Stride), "D"((long)dstStride)
+        :"S"((x86_reg)src1Stride), "D"((x86_reg)dstStride)
         :"memory");
 //the following should be used, though better not with gcc ...
 /*        :"+g"(h), "+r"(src1), "+r"(src2), "+r"(dst)
@@ -471,7 +471,7 @@ static void DEF(avg_pixels16_l2)(uint8_t *dst, uint8_t *src1, uint8_t *src2, int
 #else
         :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
 #endif
-        :"S"((long)src1Stride), "D"((long)dstStride)
+        :"S"((x86_reg)src1Stride), "D"((x86_reg)dstStride)
         :"memory");
 //the following should be used, though better not with gcc ...
 /*        :"+g"(h), "+r"(src1), "+r"(src2), "+r"(dst)
@@ -544,7 +544,7 @@ static void DEF(put_no_rnd_pixels16_l2)(uint8_t *dst, uint8_t *src1, uint8_t *sr
 #else
         :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
 #endif
-        :"S"((long)src1Stride), "D"((long)dstStride)
+        :"S"((x86_reg)src1Stride), "D"((x86_reg)dstStride)
         :"memory");
 //the following should be used, though better not with gcc ...
 /*        :"+g"(h), "+r"(src1), "+r"(src2), "+r"(dst)
@@ -586,7 +586,7 @@ static void DEF(put_no_rnd_pixels8_x2)(uint8_t *block, const uint8_t *pixels, in
         "subl $4, %0                    \n\t"
         "jnz 1b                         \n\t"
         :"+g"(h), "+S"(pixels), "+D"(block)
-        :"r" ((long)line_size)
+        :"r" ((x86_reg)line_size)
         :"%"REG_a, "memory");
 }
 
@@ -616,7 +616,7 @@ static void DEF(put_pixels8_y2)(uint8_t *block, const uint8_t *pixels, int line_
         "subl $4, %0                    \n\t"
         "jnz 1b                         \n\t"
         :"+g"(h), "+S"(pixels), "+D" (block)
-        :"r" ((long)line_size)
+        :"r" ((x86_reg)line_size)
         :"%"REG_a, "memory");
 }
 
@@ -650,7 +650,7 @@ static void DEF(put_no_rnd_pixels8_y2)(uint8_t *block, const uint8_t *pixels, in
         "subl $4, %0                    \n\t"
         "jnz 1b                         \n\t"
         :"+g"(h), "+S"(pixels), "+D" (block)
-        :"r" ((long)line_size)
+        :"r" ((x86_reg)line_size)
         :"%"REG_a, "memory");
 }
 
@@ -678,7 +678,7 @@ static void DEF(avg_pixels8)(uint8_t *block, const uint8_t *pixels, int line_siz
         "subl $4, %0                    \n\t"
         "jnz 1b                         \n\t"
         :"+g"(h), "+S"(pixels), "+D"(block)
-        :"r" ((long)line_size)
+        :"r" ((x86_reg)line_size)
         :"%"REG_a, "memory");
 }
 
@@ -710,7 +710,7 @@ static void DEF(avg_pixels8_x2)(uint8_t *block, const uint8_t *pixels, int line_
         "subl $4, %0                    \n\t"
         "jnz 1b                         \n\t"
         :"+g"(h), "+S"(pixels), "+D"(block)
-        :"r" ((long)line_size)
+        :"r" ((x86_reg)line_size)
         :"%"REG_a, "memory");
 }
 
@@ -748,7 +748,7 @@ static void DEF(avg_pixels8_y2)(uint8_t *block, const uint8_t *pixels, int line_
         "subl $4, %0                    \n\t"
         "jnz 1b                         \n\t"
         :"+g"(h), "+S"(pixels), "+D"(block)
-        :"r" ((long)line_size)
+        :"r" ((x86_reg)line_size)
         :"%"REG_a, "memory");
 }
 
@@ -791,7 +791,7 @@ static void DEF(avg_pixels8_xy2)(uint8_t *block, const uint8_t *pixels, int line
         "subl $4, %0                    \n\t"
         "jnz 1b                         \n\t"
         :"+g"(h), "+S"(pixels), "+D"(block)
-        :"r" ((long)line_size)
+        :"r" ((x86_reg)line_size)
         :"%"REG_a,  "memory");
 }
 
@@ -812,7 +812,7 @@ static void DEF(avg_pixels4)(uint8_t *block, const uint8_t *pixels, int line_siz
             "movd %%mm2, (%1, %2, 2)        \n\t"
             "movd %%mm3, (%1, %3)           \n\t"
             ::"S"(pixels), "D"(block),
-             "r" ((long)line_size), "r"(3L*line_size)
+             "r" ((x86_reg)line_size), "r"((x86_reg)3L*line_size)
             :"memory");
         block += 4*line_size;
         pixels += 4*line_size;
@@ -868,8 +868,8 @@ static void DEF(OPNAME ## 2tap_qpel16_l3)(uint8_t *dst, uint8_t *src, int stride
         "decl  %0              \n\t"\
         "jnz   1b              \n\t"\
         :"+g"(h), "+r"(src)\
-        :"r"((long)off1), "r"((long)off2),\
-         "r"((long)(dst-src)), "r"((long)stride)\
+        :"r"((x86_reg)off1), "r"((x86_reg)off2),\
+         "r"((x86_reg)(dst-src)), "r"((x86_reg)stride)\
         :"memory"\
     );\
 }\
@@ -885,8 +885,8 @@ static void DEF(OPNAME ## 2tap_qpel8_l3)(uint8_t *dst, uint8_t *src, int stride,
         "decl  %0              \n\t"\
         "jnz   1b              \n\t"\
         :"+g"(h), "+r"(src)\
-        :"r"((long)off1), "r"((long)off2),\
-         "r"((long)(dst-src)), "r"((long)stride)\
+        :"r"((x86_reg)off1), "r"((x86_reg)off2),\
+         "r"((x86_reg)(dst-src)), "r"((x86_reg)stride)\
         :"memory"\
     );\
 }

+ 2 - 2
libavcodec/i386/dsputil_mmx_qns.h

@@ -30,7 +30,7 @@
 
 static int DEF(try_8x8basis)(int16_t rem[64], int16_t weight[64], int16_t basis[64], int scale)
 {
-    long i=0;
+    x86_reg i=0;
 
     assert(FFABS(scale) < MAX_ABS);
     scale<<= 16 + SCALE_OFFSET - BASIS_SHIFT + RECON_SHIFT;
@@ -72,7 +72,7 @@ static int DEF(try_8x8basis)(int16_t rem[64], int16_t weight[64], int16_t basis[
 
 static void DEF(add_8x8basis)(int16_t rem[64], int16_t basis[64], int scale)
 {
-    long i=0;
+    x86_reg i=0;
 
     if(FFABS(scale) < MAX_ABS){
         scale<<= 16 + SCALE_OFFSET - BASIS_SHIFT + RECON_SHIFT;

+ 8 - 8
libavcodec/i386/dsputil_mmx_rnd.h

@@ -57,7 +57,7 @@ static void DEF(put, pixels8_x2)(uint8_t *block, const uint8_t *pixels, int line
         "subl   $4, %0                  \n\t"
         "jnz    1b                      \n\t"
         :"+g"(h), "+S"(pixels), "+D"(block)
-        :"r"((long)line_size)
+        :"r"((x86_reg)line_size)
         :REG_a, "memory");
 }
 
@@ -107,7 +107,7 @@ static void av_unused DEF(put, pixels8_l2)(uint8_t *dst, uint8_t *src1, uint8_t
 #else
         :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
 #endif
-        :"S"((long)src1Stride), "D"((long)dstStride)
+        :"S"((x86_reg)src1Stride), "D"((x86_reg)dstStride)
         :"memory");
 }
 
@@ -153,7 +153,7 @@ static void DEF(put, pixels16_x2)(uint8_t *block, const uint8_t *pixels, int lin
         "subl   $4, %0                  \n\t"
         "jnz    1b                      \n\t"
         :"+g"(h), "+S"(pixels), "+D"(block)
-        :"r"((long)line_size)
+        :"r"((x86_reg)line_size)
         :REG_a, "memory");
 }
 
@@ -202,7 +202,7 @@ static void av_unused DEF(put, pixels16_l2)(uint8_t *dst, uint8_t *src1, uint8_t
 #else
         :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
 #endif
-        :"S"((long)src1Stride), "D"((long)dstStride)
+        :"S"((x86_reg)src1Stride), "D"((x86_reg)dstStride)
         :"memory");
 }
 
@@ -231,7 +231,7 @@ static void DEF(put, pixels8_y2)(uint8_t *block, const uint8_t *pixels, int line
         "subl   $4, %0                  \n\t"
         "jnz    1b                      \n\t"
         :"+g"(h), "+S"(pixels), "+D"(block)
-        :"r"((long)line_size)
+        :"r"((x86_reg)line_size)
         :REG_a, "memory");
 }
 
@@ -297,7 +297,7 @@ static void DEF(put, pixels8_xy2)(uint8_t *block, const uint8_t *pixels, int lin
         "subl   $2, %0                  \n\t"
         "jnz    1b                      \n\t"
         :"+g"(h), "+S"(pixels)
-        :"D"(block), "r"((long)line_size)
+        :"D"(block), "r"((x86_reg)line_size)
         :REG_a, "memory");
 }
 
@@ -493,7 +493,7 @@ static void DEF(avg, pixels8_y2)(uint8_t *block, const uint8_t *pixels, int line
         "subl   $4, %0                  \n\t"
         "jnz    1b                      \n\t"
         :"+g"(h), "+S"(pixels), "+D"(block)
-        :"r"((long)line_size)
+        :"r"((x86_reg)line_size)
         :REG_a, "memory");
 }
 
@@ -568,7 +568,7 @@ static void DEF(avg, pixels8_xy2)(uint8_t *block, const uint8_t *pixels, int lin
         "subl   $2, %0                  \n\t"
         "jnz    1b                      \n\t"
         :"+g"(h), "+S"(pixels)
-        :"D"(block), "r"((long)line_size)
+        :"D"(block), "r"((x86_reg)line_size)
         :REG_a, "memory");
 }
 

+ 20 - 20
libavcodec/i386/dsputilenc_mmx.c

@@ -51,7 +51,7 @@ static void get_pixels_mmx(DCTELEM *block, const uint8_t *pixels, int line_size)
         "add $32, %%"REG_a"             \n\t"
         "js 1b                          \n\t"
         : "+r" (pixels)
-        : "r" (block+64), "r" ((long)line_size), "r" ((long)line_size*2)
+        : "r" (block+64), "r" ((x86_reg)line_size), "r" ((x86_reg)line_size*2)
         : "%"REG_a
     );
 }
@@ -80,7 +80,7 @@ static inline void diff_pixels_mmx(DCTELEM *block, const uint8_t *s1, const uint
         "add $16, %%"REG_a"             \n\t"
         "jnz 1b                         \n\t"
         : "+r" (s1), "+r" (s2)
-        : "r" (block+64), "r" ((long)stride)
+        : "r" (block+64), "r" ((x86_reg)stride)
         : "%"REG_a
     );
 }
@@ -88,7 +88,7 @@ static inline void diff_pixels_mmx(DCTELEM *block, const uint8_t *s1, const uint
 static int pix_sum16_mmx(uint8_t * pix, int line_size){
     const int h=16;
     int sum;
-    long index= -line_size*h;
+    x86_reg index= -line_size*h;
 
     asm volatile(
                 "pxor %%mm7, %%mm7              \n\t"
@@ -117,7 +117,7 @@ static int pix_sum16_mmx(uint8_t * pix, int line_size){
                 "movd %%mm6, %0                 \n\t"
                 "andl $0xFFFF, %0               \n\t"
                 : "=&r" (sum), "+r" (index)
-                : "r" (pix - index), "r" ((long)line_size)
+                : "r" (pix - index), "r" ((x86_reg)line_size)
         );
 
         return sum;
@@ -162,7 +162,7 @@ static int pix_norm1_mmx(uint8_t *pix, int line_size) {
       "psrlq $32, %%mm7\n"      /* shift hi dword to lo */
       "paddd %%mm7,%%mm1\n"
       "movd %%mm1,%1\n"
-      : "+r" (pix), "=r"(tmp) : "r" ((long)line_size) : "%ecx" );
+      : "+r" (pix), "=r"(tmp) : "r" ((x86_reg)line_size) : "%ecx" );
     return tmp;
 }
 
@@ -222,7 +222,7 @@ static int sse8_mmx(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int
       "paddd %%mm7,%%mm1\n"
       "movd %%mm1,%2\n"
       : "+r" (pix1), "+r" (pix2), "=r"(tmp)
-      : "r" ((long)line_size) , "m" (h)
+      : "r" ((x86_reg)line_size) , "m" (h)
       : "%ecx");
     return tmp;
 }
@@ -282,7 +282,7 @@ static int sse16_mmx(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int
       "paddd %%mm7,%%mm1\n"
       "movd %%mm1,%2\n"
       : "+r" (pix1), "+r" (pix2), "=r"(tmp)
-      : "r" ((long)line_size) , "m" (h)
+      : "r" ((x86_reg)line_size) , "m" (h)
       : "%ecx");
     return tmp;
 }
@@ -345,7 +345,7 @@ static int sse16_sse2(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, in
       "paddd %%xmm1,%%xmm7\n"
       "movd %%xmm7,%3\n"
       : "+r" (pix1), "+r" (pix2), "+r"(h), "=r"(tmp)
-      : "r" ((long)line_size));
+      : "r" ((x86_reg)line_size));
     return tmp;
 }
 
@@ -469,7 +469,7 @@ static int hf_noise8_mmx(uint8_t * pix1, int line_size, int h) {
       "paddd %%mm6,%%mm0\n"
       "movd %%mm0,%1\n"
       : "+r" (pix1), "=r"(tmp)
-      : "r" ((long)line_size) , "g" (h-2)
+      : "r" ((x86_reg)line_size) , "g" (h-2)
       : "%ecx");
       return tmp;
 }
@@ -583,7 +583,7 @@ static int hf_noise16_mmx(uint8_t * pix1, int line_size, int h) {
       "paddd %%mm6,%%mm0\n"
       "movd %%mm0,%1\n"
       : "+r" (pix1), "=r"(tmp)
-      : "r" ((long)line_size) , "g" (h-2)
+      : "r" ((x86_reg)line_size) , "g" (h-2)
       : "%ecx");
       return tmp + hf_noise8_mmx(pix+8, line_size, h);
 }
@@ -665,7 +665,7 @@ static int vsad_intra16_mmx(void *v, uint8_t * pix, uint8_t * dummy, int line_si
       "paddw %%mm6,%%mm0\n"
       "movd %%mm0,%1\n"
       : "+r" (pix), "=r"(tmp)
-      : "r" ((long)line_size) , "m" (h)
+      : "r" ((x86_reg)line_size) , "m" (h)
       : "%ecx");
     return tmp & 0xFFFF;
 }
@@ -706,7 +706,7 @@ static int vsad_intra16_mmx2(void *v, uint8_t * pix, uint8_t * dummy, int line_s
 
       "movd %%mm6,%1\n"
       : "+r" (pix), "=r"(tmp)
-      : "r" ((long)line_size) , "m" (h)
+      : "r" ((x86_reg)line_size) , "m" (h)
       : "%ecx");
     return tmp;
 }
@@ -785,7 +785,7 @@ static int vsad16_mmx(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, in
       "paddw %%mm6,%%mm0\n"
       "movd %%mm0,%2\n"
       : "+r" (pix1), "+r" (pix2), "=r"(tmp)
-      : "r" ((long)line_size) , "m" (h)
+      : "r" ((x86_reg)line_size) , "m" (h)
       : "%ecx");
     return tmp & 0x7FFF;
 }
@@ -843,14 +843,14 @@ static int vsad16_mmx2(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, i
 
       "movd %%mm6,%2\n"
       : "+r" (pix1), "+r" (pix2), "=r"(tmp)
-      : "r" ((long)line_size) , "m" (h)
+      : "r" ((x86_reg)line_size) , "m" (h)
       : "%ecx");
     return tmp;
 }
 #undef SUM
 
 static void diff_bytes_mmx(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w){
-    long i=0;
+    x86_reg i=0;
     asm volatile(
         "1:                             \n\t"
         "movq  (%2, %0), %%mm0          \n\t"
@@ -865,14 +865,14 @@ static void diff_bytes_mmx(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w){
         "cmp %4, %0                     \n\t"
         " jb 1b                         \n\t"
         : "+r" (i)
-        : "r"(src1), "r"(src2), "r"(dst), "r"((long)w-15)
+        : "r"(src1), "r"(src2), "r"(dst), "r"((x86_reg)w-15)
     );
     for(; i<w; i++)
         dst[i+0] = src1[i+0]-src2[i+0];
 }
 
 static void sub_hfyu_median_prediction_mmx2(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w, int *left, int *left_top){
-    long i=0;
+    x86_reg i=0;
     uint8_t l, lt;
 
     asm volatile(
@@ -895,7 +895,7 @@ static void sub_hfyu_median_prediction_mmx2(uint8_t *dst, uint8_t *src1, uint8_t
         "cmp %4, %0                     \n\t"
         " jb 1b                         \n\t"
         : "+r" (i)
-        : "r"(src1), "r"(src2), "r"(dst), "r"((long)w)
+        : "r"(src1), "r"(src2), "r"(dst), "r"((x86_reg)w)
     );
 
     l= *left;
@@ -930,7 +930,7 @@ static void sub_hfyu_median_prediction_mmx2(uint8_t *dst, uint8_t *src1, uint8_t
         DIFF_PIXELS_1(m0, mm##7, mm##0, (%1,%3,4), (%2,%3,4))\
         "mov"#m1" %0, "#mm"0          \n\t"\
         : "+m"(temp), "+r"(p1b), "+r"(p2b)\
-        : "r"((long)stride), "r"((long)stride*3)\
+        : "r"((x86_reg)stride), "r"((x86_reg)stride*3)\
     );\
 }
     //the "+m"(temp) is needed as gcc 2.95 sometimes fails to compile "=m"(temp)
@@ -1237,7 +1237,7 @@ DCT_SAD_FUNC(ssse3)
 
 static int ssd_int8_vs_int16_mmx(const int8_t *pix1, const int16_t *pix2, int size){
     int sum;
-    long i=size;
+    x86_reg i=size;
     asm volatile(
         "pxor %%mm4, %%mm4 \n"
         "1: \n"

+ 3 - 1
libavcodec/i386/fft_3dn.c

@@ -20,6 +20,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 #include "dsputil.h"
+#include "x86_cpu.h"
 
 static const int p1m1[2] __attribute__((aligned(8))) =
     { 0, 1 << 31 };
@@ -30,7 +31,8 @@ static const int m1p1[2] __attribute__((aligned(8))) =
 void ff_fft_calc_3dn(FFTContext *s, FFTComplex *z)
 {
     int ln = s->nbits;
-    long i, j;
+    long j;
+    x86_reg i;
     long nblocks, nloops;
     FFTComplex *p, *cptr;
 

Some files were not shown because too many files changed in this diff