diff options
author | Bob Wilson <bob.wilson@apple.com> | 2012-05-09 17:47:03 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2012-05-09 17:47:03 +0000 |
commit | 0d38d3a0005c60f721899475902026a91ef65fad (patch) | |
tree | eb1715b3a9e2bd9aafc7e6fce5b98aa457af290f /lib/Support/Host.cpp | |
parent | 26bbdeed6c50c57c4ab02a14edfea876dc71e3f4 (diff) |
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.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Support/Host.cpp b/lib/Support/Host.cpp index 6d42780cc2..1ad7852dd9 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) { |