X86: Add a description for AMD bdver3 aka Steamroller.
authorBenjamin Kramer <benny.kra@googlemail.com>
Mon, 4 Nov 2013 10:29:20 +0000 (10:29 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Mon, 4 Nov 2013 10:29:20 +0000 (10:29 +0000)
This is just bdver2 + FSGSBase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193984 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Support/Host.cpp
lib/Target/X86/X86.td

index 6a5d4d28a91d81b9b0a67b88bdcd24b51483050b..380df6b345fb1c5970d2cf0f26f1793fc8b7d3c3 100644 (file)
@@ -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";
index b41a9c9608265fe26d68220423e0ee88a337d5a9..65c5552de2afe782a0c99ffa6b73170fb81a7477 100644 (file)
@@ -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]>;