diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2013-11-04 10:29:20 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2013-11-04 10:29:20 +0000 |
commit | 00e3be6134aece98b0156ee9d0587fc70e84298b (patch) | |
tree | 4524fa321b1716abfc6fc1573fc08c14607b4346 /lib | |
parent | fa0da86a59c502bfbfa01d3d5f694f18f6e8a717 (diff) | |
download | llvm-00e3be6134aece98b0156ee9d0587fc70e84298b.tar.gz llvm-00e3be6134aece98b0156ee9d0587fc70e84298b.tar.bz2 llvm-00e3be6134aece98b0156ee9d0587fc70e84298b.tar.xz |
X86: Add a description for AMD bdver3 aka Steamroller.
This is just bdver2 + FSGSBase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193984 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Support/Host.cpp | 8 | ||||
-rw-r--r-- | lib/Target/X86/X86.td | 8 |
2 files changed, 13 insertions, 3 deletions
diff --git a/lib/Support/Host.cpp b/lib/Support/Host.cpp index 6a5d4d28a9..380df6b345 100644 --- a/lib/Support/Host.cpp +++ b/lib/Support/Host.cpp @@ -348,9 +348,11 @@ std::string sys::getHostCPUName() { case 21: if (!HasAVX) // If the OS doesn't support AVX provide a sane fallback. return "btver1"; - if (Model > 15 && Model <= 31) - return "bdver2"; - return "bdver1"; + if (Model >= 0x30) + return "bdver3"; // 30h-3Fh: Steamroller + if (Model >= 0x10) + return "bdver2"; // 10h-1Fh: Piledriver + return "bdver1"; // 00h-0Fh: Bulldozer case 22: if (!HasAVX) // If the OS doesn't support AVX provide a sane fallback. return "btver1"; diff --git a/lib/Target/X86/X86.td b/lib/Target/X86/X86.td index b41a9c9608..65c5552de2 100644 --- a/lib/Target/X86/X86.td +++ b/lib/Target/X86/X86.td @@ -308,6 +308,14 @@ def : Proc<"bdver2", [FeatureXOP, FeatureFMA4, FeatureCMPXCHG16B, FeatureF16C, FeatureLZCNT, FeaturePOPCNT, FeatureBMI, FeatureTBM, FeatureFMA]>; + +// Steamroller +def : Proc<"bdver3", [FeatureXOP, FeatureFMA4, FeatureCMPXCHG16B, + FeatureAES, FeaturePRFCHW, FeaturePCLMUL, + FeatureF16C, FeatureLZCNT, + FeaturePOPCNT, FeatureBMI, FeatureTBM, + FeatureFMA, FeatureFSGSBase]>; + def : Proc<"geode", [Feature3DNowA]>; def : Proc<"winchip-c6", [FeatureMMX]>; |