http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49104

--- Comment #5 from Uros Bizjak <ubizjak at gmail dot com> 2011-05-22 18:45:30 
UTC ---
Actually, PMOVMSKB belongs to "AMD extensions to MMX" instruction set, so we
should check MMXEXT bit (see PR 48743).

bit_CMOVE can be also checked in %edx as returned from 0x8000 0001 function.

Index: libcpp/lex.c
===================================================================
--- libcpp/lex.c    (revision 174030)
+++ libcpp/lex.c    (working copy)
@@ -488,7 +488,7 @@
   minimum = 3;
 #elif defined(__SSE2__)
   minimum = 2;
-#elif defined(__SSE__) || defined(__3dNOW_A__)
+#elif defined(__SSE__)
   minimum = 1;
 #endif

@@ -505,7 +505,7 @@
     }
   else if (__get_cpuid (0x80000001, &dummy, &dummy, &dummy, &edx))
     {
-      if (minimum == 1 || edx & bit_3DNOWP)
+      if (minimum == 1 || (edx & (bit_MMXEXT | bit_CMOV)))
     impl = search_line_mmx;
     }

Reply via email to