[x264-devel] x86: Remove some legacy CPU detection hacks

Henrik Gramner git at videolan.org
Mon Dec 25 20:40:01 CET 2017


x264 | branch: master | Henrik Gramner <henrik at gramner.com> | Wed Oct 11 18:02:26 2017 +0200| [344699fd386890ac1cf80a70a68a3ae16767ed62] | committer: Anton Mitrofanov

x86: Remove some legacy CPU detection hacks

Some ancient Pentium-M and Core 1 CPU:s had slow SSE units, and using MMX
was preferable. Nowadays many assembly functions in x264 completely lack MMX
implementations and falling back to C code will likely make things worse.

Some misconfigured virtualized systems could sometimes also trigger this code
path and cause assertions.

> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=344699fd386890ac1cf80a70a68a3ae16767ed62
---

 common/cpu.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/common/cpu.c b/common/cpu.c
index fc233b62..516c3c8e 100644
--- a/common/cpu.c
+++ b/common/cpu.c
@@ -235,16 +235,8 @@ uint32_t x264_cpu_detect( void )
         int model  = ((eax>>4)&0xf) + ((eax>>12)&0xf0);
         if( family == 6 )
         {
-            /* 6/9 (pentium-m "banias"), 6/13 (pentium-m "dothan"), and 6/14 (core1 "yonah")
-             * theoretically support sse2, but it's significantly slower than mmx for
-             * almost all of x264's functions, so let's just pretend they don't. */
-            if( model == 9 || model == 13 || model == 14 )
-            {
-                cpu &= ~(X264_CPU_SSE2|X264_CPU_SSE3);
-                assert(!(cpu&(X264_CPU_SSSE3|X264_CPU_SSE4)));
-            }
             /* Detect Atom CPU */
-            else if( model == 28 )
+            if( model == 28 )
             {
                 cpu |= X264_CPU_SLOW_ATOM;
                 cpu |= X264_CPU_SLOW_PSHUFB;



More information about the x264-devel mailing list