[FFmpeg-cvslog] r25615 - in trunk/libavcodec/x86: dct32_sse.c dsputil_mmx.c h264_qpel_mmx.c idct_sse2_xvid.c

ramiro subversion
Sun Oct 31 19:14:49 CET 2010


Author: ramiro
Date: Sun Oct 31 19:14:48 2010
New Revision: 25615

Log:
xmm_clobbers: list xmm registers first in clobber list

suncc does not like the leading commas inside the macro, but it has no problem
with trailing commas.

Modified:
   trunk/libavcodec/x86/dct32_sse.c
   trunk/libavcodec/x86/dsputil_mmx.c
   trunk/libavcodec/x86/h264_qpel_mmx.c
   trunk/libavcodec/x86/idct_sse2_xvid.c

Modified: trunk/libavcodec/x86/dct32_sse.c
==============================================================================
--- trunk/libavcodec/x86/dct32_sse.c	Sun Oct 31 17:28:28 2010	(r25614)
+++ trunk/libavcodec/x86/dct32_sse.c	Sun Oct 31 19:14:48 2010	(r25615)
@@ -288,9 +288,9 @@ void ff_dct32_float_sse(FFTSample *out, 
         "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"
         );
 }
 

Modified: trunk/libavcodec/x86/dsputil_mmx.c
==============================================================================
--- trunk/libavcodec/x86/dsputil_mmx.c	Sun Oct 31 17:28:28 2010	(r25614)
+++ trunk/libavcodec/x86/dsputil_mmx.c	Sun Oct 31 19:14:48 2010	(r25615)
@@ -2004,9 +2004,9 @@ static void vorbis_inverse_coupling_sse(
         "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)\

Modified: trunk/libavcodec/x86/h264_qpel_mmx.c
==============================================================================
--- trunk/libavcodec/x86/h264_qpel_mmx.c	Sun Oct 31 17:28:28 2010	(r25614)
+++ trunk/libavcodec/x86/h264_qpel_mmx.c	Sun Oct 31 19:14:48 2010	(r25615)
@@ -664,11 +664,11 @@ static av_noinline void OPNAME ## h264_q
         : "+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_q
         "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_q
         " 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_q
         \
         : "+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_qp
             "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 ## h
             " 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 ## h
             " 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"\
         );\
     }\
 }

Modified: trunk/libavcodec/x86/idct_sse2_xvid.c
==============================================================================
--- trunk/libavcodec/x86/idct_sse2_xvid.c	Sun Oct 31 17:28:28 2010	(r25614)
+++ trunk/libavcodec/x86/idct_sse2_xvid.c	Sun Oct 31 19:14:48 2010	(r25615)
@@ -380,13 +380,13 @@ inline void ff_idct_xvid_sse2(short *blo
     "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"
     );
 }
 



More information about the ffmpeg-cvslog mailing list