aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2013-08-30 14:05:32 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2013-08-30 14:05:32 +0000
commitd7a178eee39d3caeea8d4354d24daa8b096a1ff2 (patch)
treeee1a82dabc178f3c1fa60328ceb0f2a1c1b99968
parente7d0b1d146168e2dedf21f244b028585026ec909 (diff)
downloadexternal_llvm-d7a178eee39d3caeea8d4354d24daa8b096a1ff2.zip
external_llvm-d7a178eee39d3caeea8d4354d24daa8b096a1ff2.tar.gz
external_llvm-d7a178eee39d3caeea8d4354d24daa8b096a1ff2.tar.bz2
X86: Add a description of the Intel Atom Silvermont CPU.
Currently this is just the atom model with SSE4.2 enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189669 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Support/Host.cpp5
-rw-r--r--lib/Target/X86/X86.td9
2 files changed, 14 insertions, 0 deletions
diff --git a/lib/Support/Host.cpp b/lib/Support/Host.cpp
index ad0ac93..59ca1ba 100644
--- a/lib/Support/Host.cpp
+++ b/lib/Support/Host.cpp
@@ -265,6 +265,11 @@ std::string sys::getHostCPUName() {
case 54: // 32 nm Atom Midview
return "atom";
+ case 55: // Intel Atom Silvermont processors
+ case 74:
+ case 77:
+ return "slm";
+
default: return (Em64T) ? "x86-64" : "i686";
}
case 15: {
diff --git a/lib/Target/X86/X86.td b/lib/Target/X86/X86.td
index 2c3643d..da989ad 100644
--- a/lib/Target/X86/X86.td
+++ b/lib/Target/X86/X86.td
@@ -206,6 +206,15 @@ def : ProcessorModel<"atom", AtomModel,
FeatureLEAUsesAG,
FeaturePadShortFunctions]>;
+// Silvermont.
+def : ProcessorModel<"slm", AtomModel,
+ [ProcIntelAtom, FeatureSSE42, FeatureCMPXCHG16B,
+ FeatureMOVBE, FeatureSlowBTMem, FeatureLeaForSP,
+ FeatureSlowDivide,
+ FeatureCallRegIndirect,
+ FeatureLEAUsesAG,
+ FeaturePadShortFunctions]>;
+
// "Arrandale" along with corei3 and corei5
def : ProcessorModel<"corei7", SandyBridgeModel,
[FeatureSSE42, FeatureCMPXCHG16B, FeatureSlowBTMem,