swscale/x86/rgb2rgb : remove mmx version for shuffle2103
authorMartin Vignali <martin.vignali@gmail.com>
Thu, 11 Oct 2018 19:31:18 +0000 (21:31 +0200)
committerMartin Vignali <martin.vignali@gmail.com>
Sat, 13 Oct 2018 12:12:36 +0000 (14:12 +0200)
libswscale/x86/rgb2rgb_template.c

index d59bd56..287e1d3 100644 (file)
@@ -1034,6 +1034,7 @@ static inline void RENAME(rgb16to32)(const uint8_t *src, uint8_t *dst, int src_s
     }
 }
 
+#if COMPILE_TEMPLATE_MMXEXT
 static inline void RENAME(shuffle_bytes_2103)(const uint8_t *src, uint8_t *dst, int src_size)
 {
     x86_reg idx = 15 - src_size;
@@ -1052,7 +1053,6 @@ static inline void RENAME(shuffle_bytes_2103)(const uint8_t *src, uint8_t *dst,
         PREFETCH"     32(%1, %0)        \n\t"
         "movq           (%1, %0), %%mm0 \n\t"
         "movq          8(%1, %0), %%mm1 \n\t"
-# if COMPILE_TEMPLATE_MMXEXT
         "pshufw      $177, %%mm0, %%mm3 \n\t"
         "pshufw      $177, %%mm1, %%mm5 \n\t"
         "pand       %%mm7, %%mm0        \n\t"
@@ -1061,24 +1061,6 @@ static inline void RENAME(shuffle_bytes_2103)(const uint8_t *src, uint8_t *dst,
         "pand       %%mm6, %%mm5        \n\t"
         "por        %%mm3, %%mm0        \n\t"
         "por        %%mm5, %%mm1        \n\t"
-# else
-        "movq       %%mm0, %%mm2        \n\t"
-        "movq       %%mm1, %%mm4        \n\t"
-        "pand       %%mm7, %%mm0        \n\t"
-        "pand       %%mm6, %%mm2        \n\t"
-        "pand       %%mm7, %%mm1        \n\t"
-        "pand       %%mm6, %%mm4        \n\t"
-        "movq       %%mm2, %%mm3        \n\t"
-        "movq       %%mm4, %%mm5        \n\t"
-        "pslld        $16, %%mm2        \n\t"
-        "psrld        $16, %%mm3        \n\t"
-        "pslld        $16, %%mm4        \n\t"
-        "psrld        $16, %%mm5        \n\t"
-        "por        %%mm2, %%mm0        \n\t"
-        "por        %%mm4, %%mm1        \n\t"
-        "por        %%mm3, %%mm0        \n\t"
-        "por        %%mm5, %%mm1        \n\t"
-# endif
         MOVNTQ"     %%mm0,  (%2, %0)    \n\t"
         MOVNTQ"     %%mm1, 8(%2, %0)    \n\t"
         "add          $16, %0           \n\t"
@@ -1095,6 +1077,7 @@ static inline void RENAME(shuffle_bytes_2103)(const uint8_t *src, uint8_t *dst,
         *(uint32_t *)&d[idx] = (v>>16) + g + (v<<16);
     }
 }
+#endif
 
 static inline void RENAME(rgb24tobgr24)(const uint8_t *src, uint8_t *dst, int src_size)
 {
@@ -2572,7 +2555,9 @@ static av_cold void RENAME(rgb2rgb_init)(void)
     rgb24to15          = RENAME(rgb24to15);
     rgb24to16          = RENAME(rgb24to16);
     rgb24tobgr24       = RENAME(rgb24tobgr24);
+#if COMPILE_TEMPLATE_MMXEXT
     shuffle_bytes_2103 = RENAME(shuffle_bytes_2103);
+#endif
     rgb32tobgr16       = RENAME(rgb32tobgr16);
     rgb32tobgr15       = RENAME(rgb32tobgr15);
     yv12toyuy2         = RENAME(yv12toyuy2);