For non-x86 host, used generic as CPU name.
authorEvan Cheng <evan.cheng@apple.com>
Fri, 8 Jul 2011 21:14:14 +0000 (21:14 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Fri, 8 Jul 2011 21:14:14 +0000 (21:14 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134741 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
lib/Target/X86/X86Subtarget.cpp

index bcde60a0532f72ca73a83cbaceefb8d154e550d6..204485d94faf6f71aaa2a465984be494befb9053 100644 (file)
@@ -140,8 +140,13 @@ MCSubtargetInfo *X86_MC::createX86MCSubtargetInfo(StringRef TT, StringRef CPU,
   }
 
   std::string CPUName = CPU;
-  if (CPUName.empty())
+  if (CPUName.empty()) {
+#if defined (__x86_64__) || defined(__i386__)
     CPUName = sys::getHostCPUName();
+#else
+    CPUName = "generic";
+#endif
+  }
 
   if (ArchFS.empty() && CPUName.empty() && hasX86_64())
     // Auto-detect if host is 64-bit capable, it's the default if true.
index b567c456b8fc5cadc7ff91659171ea7ce279b7f6..fea4782c57ec1c7b8335af13e4b62290a2ab0351 100644 (file)
@@ -258,12 +258,17 @@ X86Subtarget::X86Subtarget(const std::string &TT, const std::string &CPU,
       ArchFS = FS;
   }
 
-  std::string CPUName = CPU;
-  if (CPUName.empty())
-    CPUName = sys::getHostCPUName();
-
   // Determine default and user specified characteristics
-  if (!CPUName.empty() || !ArchFS.empty()) {
+  if (!ArchFS.empty()) {
+    std::string CPUName = CPU;
+    if (CPUName.empty()) {
+#if defined (__x86_64__) || defined(__i386__)
+      CPUName = sys::getHostCPUName();
+#else
+      CPUName = "generic";
+#endif
+    }
+
     // If feature string is not empty, parse features string.
     ParseSubtargetFeatures(CPUName, ArchFS);
     // All X86-64 CPUs also have SSE2, however user might request no SSE via