aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Support/Host.cpp
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2012-05-09 17:47:03 +0000
committerBob Wilson <bob.wilson@apple.com>2012-05-09 17:47:03 +0000
commit0d38d3a0005c60f721899475902026a91ef65fad (patch)
treeeb1715b3a9e2bd9aafc7e6fce5b98aa457af290f /lib/Support/Host.cpp
parent26bbdeed6c50c57c4ab02a14edfea876dc71e3f4 (diff)
downloadexternal_llvm-0d38d3a0005c60f721899475902026a91ef65fad.zip
external_llvm-0d38d3a0005c60f721899475902026a91ef65fad.tar.gz
external_llvm-0d38d3a0005c60f721899475902026a91ef65fad.tar.bz2
Use the cpuid 64 bit flag to pick the default CPU name for an unknown model.
For the Family 6 switch in sys::getHostCPUName, an unrecognized model was reported as "i686". That's a really bad default since it means that new CPUs will be treated as if they can only use 32-bit code. This just looks at the cpuid extended feature flag for 64 bit support, and if that is set, it uses a default x86-64 cpu. Similar logic is already used for the Family 15 code. <rdar://problem/11314502> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156486 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support/Host.cpp')
-rw-r--r--lib/Support/Host.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Support/Host.cpp b/lib/Support/Host.cpp
index 6d42780..1ad7852 100644
--- a/lib/Support/Host.cpp
+++ b/lib/Support/Host.cpp
@@ -239,7 +239,7 @@ std::string sys::getHostCPUName() {
case 39: // 32 nm Atom Medfield
return "atom";
- default: return "i686";
+ default: return (Em64T) ? "x86-64" : "i686";
}
case 15: {
switch (Model) {