Accelerate isel dispatch for tables that start with a top-level
[oota-llvm.git] / lib / System / Host.cpp
index 37591a57b0707e7e7e7acdec2f99d99572e3e8ea..e7193dbce92e9721dcee83027f7a6134d1a04905 100644 (file)
@@ -22,6 +22,9 @@
 #ifdef LLVM_ON_WIN32
 #include "Win32/Host.inc"
 #endif
+#ifdef _MSC_VER
+#include <intrin.h>
+#endif
 
 //===----------------------------------------------------------------------===//
 //
@@ -100,11 +103,8 @@ static void DetectX86FamilyModel(unsigned EAX, unsigned &Family, unsigned &Model
     Model += ((EAX >> 16) & 0xf) << 4; // Bits 16 - 19
   }
 }
-#endif
-
 
 std::string sys::getHostCPUName() {
-#if defined(__x86_64__) || defined(__i386__)
   unsigned EAX = 0, EBX = 0, ECX = 0, EDX = 0;
   if (GetX86CpuIDAndInfo(0x1, &EAX, &EBX, &ECX, &EDX))
     return "generic";
@@ -292,7 +292,14 @@ std::string sys::getHostCPUName() {
       return "generic";
     }
   }
+  return "generic";
+}
+#else
+std::string sys::getHostCPUName() {
+  return "generic";
+}
 #endif
 
-  return "generic";
+bool sys::getHostCPUFeatures(StringMap<bool> &Features){
+  return false;
 }