diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2014-05-02 15:47:07 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2014-05-02 15:47:07 +0000 |
commit | 6004573ecfbfe67e23a73fd9ce11aafb024a500f (patch) | |
tree | 9135076f40d2e7f7cf8d51a0a34f9eceeedba714 | |
parent | 10b1502733995cc6a7be8399d1733ccf3e266b9c (diff) | |
download | bcm5719-llvm-6004573ecfbfe67e23a73fd9ce11aafb024a500f.tar.gz bcm5719-llvm-6004573ecfbfe67e23a73fd9ce11aafb024a500f.zip |
Add a description for AMD's bdver4 (aka Excavator).
This is just bdver3 + AVX2 + BMI2.
llvm-svn: 207847
-rw-r--r-- | llvm/lib/Support/Host.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/Target/X86/X86.td | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Support/Host.cpp b/llvm/lib/Support/Host.cpp index dc90c8cc4ae..83f25463a14 100644 --- a/llvm/lib/Support/Host.cpp +++ b/llvm/lib/Support/Host.cpp @@ -435,6 +435,8 @@ StringRef sys::getHostCPUName() { case 21: if (!HasAVX) // If the OS doesn't support AVX provide a sane fallback. return "btver1"; + if (Model >= 0x50) + return "bdver4"; // 50h-6Fh: Excavator if (Model >= 0x30) return "bdver3"; // 30h-3Fh: Steamroller if (Model >= 0x10) diff --git a/llvm/lib/Target/X86/X86.td b/llvm/lib/Target/X86/X86.td index 78edcf04788..423c2c973d0 100644 --- a/llvm/lib/Target/X86/X86.td +++ b/llvm/lib/Target/X86/X86.td @@ -329,6 +329,13 @@ def : Proc<"bdver3", [FeatureXOP, FeatureFMA4, FeatureCMPXCHG16B, FeaturePOPCNT, FeatureBMI, FeatureTBM, FeatureFMA, FeatureFSGSBase]>; +// Excavator +def : Proc<"bdver4", [FeatureAVX2, FeatureXOP, FeatureFMA4, + FeatureCMPXCHG16B, FeatureAES, FeaturePRFCHW, + FeaturePCLMUL, FeatureF16C, FeatureLZCNT, + FeaturePOPCNT, FeatureBMI, FeatureBMI2, + FeatureTBM, FeatureFMA, FeatureFSGSBase]>; + def : Proc<"geode", [Feature3DNowA]>; def : Proc<"winchip-c6", [FeatureMMX]>; |