]> granicus.if.org Git - libx264/commitdiff
sfence after nontemporal stores
authorLoren Merritt <pengvado@akuvian.org>
Fri, 4 Apr 2008 07:07:40 +0000 (01:07 -0600)
committerLoren Merritt <pengvado@akuvian.org>
Wed, 9 Apr 2008 21:14:21 +0000 (15:14 -0600)
common/x86/mc-a2.asm
common/x86/mc-c.c

index cb853a097d0806df73a4cf5e024501c5bcda55e3..3b04b70cecef510fda78bea80293713b231b7480 100644 (file)
@@ -314,6 +314,10 @@ HPEL_C sse2
 HPEL_C ssse3
 %endif
 
+cglobal x264_sfence
+    sfence
+    ret
+
 
 
 ;-----------------------------------------------------------------------------
@@ -381,6 +385,7 @@ cglobal x264_plane_copy_mmxext, 6,7
     add    r0, r1
     dec    r5d
     jg     .loopy
+    sfence
     emms
     RET
 
index 5f999376d123f6c0500b30f8b3e10912936395db..7401555ae871a82b951eb8559955fa64749c0750 100644 (file)
@@ -167,6 +167,7 @@ GET_REF(sse2)
 void x264_hpel_filter_v_##cpuv( uint8_t *dst, uint8_t *src, int16_t *buf, int stride, int width);\
 void x264_hpel_filter_c_##cpuc( uint8_t *dst, int16_t *buf, int width );\
 void x264_hpel_filter_h_##cpuh( uint8_t *dst, uint8_t *src, int width );\
+void x264_sfence( void );\
 void x264_hpel_filter_##cpu( uint8_t *dsth, uint8_t *dstv, uint8_t *dstc, uint8_t *src,\
                              int stride, int width, int height )\
 {\
@@ -187,6 +188,7 @@ void x264_hpel_filter_##cpu( uint8_t *dsth, uint8_t *dstv, uint8_t *dstc, uint8_
         dstc += stride;\
         src  += stride;\
     }\
+    x264_sfence();\
     x264_free(buf);\
 }