[PATCH 5/9] emit an emms instruction after using the mmx extension
authorMartin Kaesberger <git@skipfish.de>
Mon, 15 Jun 2020 00:23:22 +0000 (02:23 +0200)
committerA. Maitland Bottoms <bottoms@debian.org>
Tue, 30 Jun 2020 23:48:20 +0000 (00:48 +0100)
Gbp-Pq: Name 0005-emit-an-emms-instruction-after-using-the-mmx-extensi.patch

kernels/volk/volk_16i_32fc_dot_prod_32fc.h

index 26356499a1659ee08c25cb9ec2d80c5992841650..924625964fedeeea085985f42d94fef1ff0c224e 100644 (file)
@@ -209,6 +209,8 @@ static inline void volk_16i_32fc_dot_prod_32fc_u_sse(lv_32fc_t* result,
         bPtr += 16;
     }
 
+    _mm_empty(); // clear the mmx technology state
+
     dotProdVal0 = _mm_add_ps(dotProdVal0, dotProdVal1);
     dotProdVal0 = _mm_add_ps(dotProdVal0, dotProdVal2);
     dotProdVal0 = _mm_add_ps(dotProdVal0, dotProdVal3);
@@ -484,6 +486,8 @@ static inline void volk_16i_32fc_dot_prod_32fc_a_sse(lv_32fc_t* result,
         bPtr += 16;
     }
 
+    _mm_empty(); // clear the mmx technology state
+
     dotProdVal0 = _mm_add_ps(dotProdVal0, dotProdVal1);
     dotProdVal0 = _mm_add_ps(dotProdVal0, dotProdVal2);
     dotProdVal0 = _mm_add_ps(dotProdVal0, dotProdVal3);