Change the Intel Atom detection code to recognize
authorPreston Gurd <preston.gurd@intel.com>
Wed, 2 May 2012 21:38:46 +0000 (21:38 +0000)
committerPreston Gurd <preston.gurd@intel.com>
Wed, 2 May 2012 21:38:46 +0000 (21:38 +0000)
Lincroft and Medfield.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156025 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Support/Host.cpp
lib/Target/X86/X86Subtarget.cpp

index a5e0cb061c1227c221fe940d2f798ca22c8cf9c5..6d42780cc28099120bc5f45c6808c87a1403f200 100644 (file)
@@ -234,8 +234,9 @@ std::string sys::getHostCPUName() {
       case 58:
         return "core-avx-i";
 
-      case 28: // Intel Atom processor. All processors are manufactured using
-               // the 45 nm process
+      case 28: // Most 45 nm Intel Atom processors
+      case 38: // 45 nm Atom Lincroft
+      case 39: // 32 nm Atom Medfield
         return "atom";
 
       default: return "i686";
index 2ec277a2fab07e759149104b8d1727e568c70a9f..7970268b2daad57b39eeba329f2fce2a2d1d32f4 100644 (file)
@@ -253,7 +253,8 @@ void X86Subtarget::AutoDetectSubtargetFeatures() {
     }
 
     // Set processor type. Currently only Atom is detected.
-    if (Family == 6 && Model == 28) {
+    if (Family == 6 &&
+        (Model == 28 || Model == 38 || Model == 39)) {
       X86ProcFamily = IntelAtom;
 
       UseLeaForSP = true;