[llvm-commits] [llvm] r147348 - /llvm/trunk/lib/Target/X86/X86Subtarget.cpp

Craig Topper craig.topper at gmail.com
Thu Dec 29 11:25:56 PST 2011


Author: ctopper
Date: Thu Dec 29 13:25:56 2011
New Revision: 147348

URL: http://llvm.org/viewvc/llvm-project?rev=147348&view=rev
Log:
Change XOP detection to use the correct CPUID bit instead of using the FMA4 bit.

Modified:
    llvm/trunk/lib/Target/X86/X86Subtarget.cpp

Modified: llvm/trunk/lib/Target/X86/X86Subtarget.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86Subtarget.cpp?rev=147348&r1=147347&r2=147348&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86Subtarget.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86Subtarget.cpp Thu Dec 29 13:25:56 2011
@@ -266,15 +266,19 @@
         HasLZCNT = true;
         ToggleFeature(X86::FeatureLZCNT);
       }
-      if (IsAMD && ((ECX >> 6) & 0x1)) {
-        HasSSE4A = true;
-        ToggleFeature(X86::FeatureSSE4A);
-      }
-      if (IsAMD && ((ECX >> 16) & 0x1)) {
-        HasFMA4 = true;
-        ToggleFeature(X86::FeatureFMA4);
-        HasXOP = true;
-        ToggleFeature(X86::FeatureXOP);
+      if (IsAMD) {
+        if ((ECX >> 6) & 0x1) {
+          HasSSE4A = true;
+          ToggleFeature(X86::FeatureSSE4A);
+        }
+        if ((ECX >> 11) & 0x1) {
+          HasXOP = true;
+          ToggleFeature(X86::FeatureXOP);
+        }
+        if ((ECX >> 16) & 0x1) {
+          HasFMA4 = true;
+          ToggleFeature(X86::FeatureFMA4);
+        }
       }
     }
   }





More information about the llvm-commits mailing list