OSDN Git Service

xmm_clobbers: list xmm registers first in clobber list
authorRamiro Polla <ramiro.polla@gmail.com>
Sun, 31 Oct 2010 18:14:48 +0000 (18:14 +0000)
committerRamiro Polla <ramiro.polla@gmail.com>
Sun, 31 Oct 2010 18:14:48 +0000 (18:14 +0000)
suncc does not like the leading commas inside the macro, but it has no problem
with trailing commas.

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

libavcodec/x86/dct32_sse.c
libavcodec/x86/dsputil_mmx.c
libavcodec/x86/h264_qpel_mmx.c
libavcodec/x86/idct_sse2_xvid.c

index 155d7e9..74338d6 100644 (file)
@@ -288,9 +288,9 @@ void ff_dct32_float_sse(FFTSample *out, const FFTSample *in)
         "movss    %%xmm2, 116(%1)           \n\t"
         :"+&r"(tmp1)
         :"r"(out), "r"(b1), "r"(smask), "r"(in)
-        :"memory"
-         XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3",
-                        "%xmm4", "%xmm5", "%xmm6", "%xmm7")
+        :XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3",
+                      "%xmm4", "%xmm5", "%xmm6", "%xmm7",)
+         "memory"
         );
 }
 
index 705ba98..5dac6da 100644 (file)
@@ -2004,9 +2004,9 @@ static void vorbis_inverse_coupling_sse(float *mag, float *ang, int blocksize)
         "jl 1b \n"\
         :"+&r"(i)\
         :"r"(samples[0]+len), "r"(matrix)\
-        :"memory"\
-         XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3",\
-                        "%xmm4", "%xmm5", "%xmm6", "%xmm7")\
+        :XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \
+                      "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\
+         "memory"\
     );
 
 #define MIX_MISC(stereo)\
index 61a2d9c..d8ceca1 100644 (file)
@@ -664,11 +664,11 @@ static av_noinline void OPNAME ## h264_qpel16_h_lowpass_l2_ ## MMX(uint8_t *dst,
         : "+a"(src), "+c"(dst), "+d"(src2), "+g"(h)\
         : "D"((x86_reg)src2Stride), "S"((x86_reg)dstStride),\
           "m"(ff_pw_5), "m"(ff_pw_16)\
-        : "memory"\
-          XMM_CLOBBERS(, "%xmm0" , "%xmm1" , "%xmm2" , "%xmm3" , \
-                         "%xmm4" , "%xmm5" , "%xmm6" , "%xmm7" , \
-                         "%xmm8" , "%xmm9" , "%xmm10", "%xmm11", \
-                         "%xmm12", "%xmm13", "%xmm14", "%xmm15") \
+        : XMM_CLOBBERS("%xmm0" , "%xmm1" , "%xmm2" , "%xmm3" , \
+                       "%xmm4" , "%xmm5" , "%xmm6" , "%xmm7" , \
+                       "%xmm8" , "%xmm9" , "%xmm10", "%xmm11", \
+                       "%xmm12", "%xmm13", "%xmm14", "%xmm15",)\
+          "memory"\
     );\
 }
 #else // ARCH_X86_64
@@ -724,9 +724,9 @@ static av_noinline void OPNAME ## h264_qpel8_h_lowpass_l2_ ## MMX(uint8_t *dst,
         "jg 1b                      \n\t"\
         : "+a"(src), "+c"(dst), "+d"(src2), "+g"(h)\
         : "D"((x86_reg)src2Stride), "S"((x86_reg)dstStride)\
-        : "memory"\
-          XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3", \
-                         "%xmm4", "%xmm5", "%xmm6", "%xmm7") \
+        : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \
+                       "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\
+          "memory"\
     );\
 }\
 QPEL_H264_H16_XMM(OPNAME, OP, MMX)\
@@ -767,9 +767,9 @@ static av_noinline void OPNAME ## h264_qpel8_h_lowpass_ ## MMX(uint8_t *dst, uin
         " jnz 1b                    \n\t"\
         : "+a"(src), "+c"(dst), "+g"(h)\
         : "D"((x86_reg)srcStride), "S"((x86_reg)dstStride)\
-        : "memory"\
-          XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3", \
-                         "%xmm4", "%xmm5", "%xmm6", "%xmm7") \
+        : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \
+                       "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\
+          "memory"\
     );\
 }\
 static void OPNAME ## h264_qpel16_h_lowpass_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
@@ -824,9 +824,9 @@ static av_noinline void OPNAME ## h264_qpel8or16_v_lowpass_ ## MMX(uint8_t *dst,
         \
         : "+a"(src), "+c"(dst)\
         : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\
-        : "memory"\
-          XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3", \
-                         "%xmm4", "%xmm5", "%xmm6", "%xmm7") \
+        : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \
+                       "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\
+          "memory"\
     );\
 }\
 static void OPNAME ## h264_qpel8_v_lowpass_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
@@ -879,9 +879,9 @@ static av_always_inline void put_h264_qpel8or16_hv1_lowpass_sse2(int16_t *tmp, u
             "2:                         \n\t"
             : "+a"(src)
             : "c"(tmp), "S"((x86_reg)srcStride), "g"(size)
-            : "memory"
-              XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3",
-                             "%xmm4", "%xmm5", "%xmm6", "%xmm7")
+            : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3",
+                           "%xmm4", "%xmm5", "%xmm6", "%xmm7",)
+              "memory"
         );
         tmp += 8;
         src += 8 - (size+5)*srcStride;
@@ -944,9 +944,9 @@ static av_always_inline void OPNAME ## h264_qpel8or16_hv2_lowpass_ ## MMX(uint8_
             " jnz 1b                    \n\t"\
             : "+a"(tmp), "+c"(dst), "+g"(h)\
             : "S"((x86_reg)dstStride)\
-            : "memory"\
-              XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3", \
-                             "%xmm4", "%xmm5", "%xmm6", "%xmm7") \
+            : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \
+                           "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\
+              "memory"\
         );\
     }else{\
         __asm__ volatile(\
@@ -980,9 +980,9 @@ static av_always_inline void OPNAME ## h264_qpel8or16_hv2_lowpass_ ## MMX(uint8_
             " jnz 1b                    \n\t"\
             : "+a"(tmp), "+c"(dst), "+g"(h)\
             : "S"((x86_reg)dstStride)\
-            : "memory"\
-              XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3", \
-                             "%xmm4", "%xmm5", "%xmm6", "%xmm7") \
+            : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \
+                           "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\
+              "memory"\
         );\
     }\
 }
index 9276290..edf6581 100644 (file)
@@ -380,13 +380,13 @@ inline void ff_idct_xvid_sse2(short *block)
     "6:                                                          \n\t"
     : "+r"(block)
     :
-    : "%eax", "%ecx", "%edx", "%esi", "memory"
-      XMM_CLOBBERS(, "%xmm0" , "%xmm1" , "%xmm2" , "%xmm3" ,
-                     "%xmm4" , "%xmm5" , "%xmm6" , "%xmm7")
+    : XMM_CLOBBERS("%xmm0" , "%xmm1" , "%xmm2" , "%xmm3" ,
+                   "%xmm4" , "%xmm5" , "%xmm6" , "%xmm7" ,)
 #if ARCH_X86_64
-      XMM_CLOBBERS("%xmm8" , "%xmm9" , "%xmm10", "%xmm11",
-                     "%xmm12", "%xmm13", "%xmm14")
+      XMM_CLOBBERS("%xmm8" , "%xmm9" , "%xmm10", "%xmm11",
+                   "%xmm12", "%xmm13", "%xmm14",)
 #endif
+      "%eax", "%ecx", "%edx", "%esi", "memory"
     );
 }