diff options
author | Yunzhong Gao <Yunzhong_Gao@playstation.sony.com> | 2013-09-24 18:21:52 +0000 |
---|---|---|
committer | Yunzhong Gao <Yunzhong_Gao@playstation.sony.com> | 2013-09-24 18:21:52 +0000 |
commit | dd36e9387b9558a8c04541e65b1fb745787367b1 (patch) | |
tree | b4735a19fb8da567f0f78aa52881ad6a3356fc95 /llvm/lib/Target/X86/X86Subtarget.cpp | |
parent | b6331dcb5143b7895762db336a531a4f55f3a959 (diff) | |
download | bcm5719-llvm-dd36e9387b9558a8c04541e65b1fb745787367b1.tar.gz bcm5719-llvm-dd36e9387b9558a8c04541e65b1fb745787367b1.zip |
Adding a feature flag to the llvm backend for x86 TBM instruction set.
Adding TBM feature to bdver2 processor; piledriver supports this instruction set
according to the following document:
http://developer.amd.com/wordpress/media/2012/10/New-Bulldozer-and-Piledriver-Instructions.pdf
Phabricator code review is located here: http://llvm-reviews.chandlerc.com/D1692
llvm-svn: 191324
Diffstat (limited to 'llvm/lib/Target/X86/X86Subtarget.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86Subtarget.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86Subtarget.cpp b/llvm/lib/Target/X86/X86Subtarget.cpp index f5b261428dc..05db662b2c4 100644 --- a/llvm/lib/Target/X86/X86Subtarget.cpp +++ b/llvm/lib/Target/X86/X86Subtarget.cpp @@ -384,6 +384,10 @@ void X86Subtarget::AutoDetectSubtargetFeatures() { ToggleFeature(X86::FeatureSHA); } } + if (IsAMD && ((ECX >> 21) & 0x1)) { + HasTBM = true; + ToggleFeature(X86::FeatureTBM); + } } } @@ -492,6 +496,7 @@ void X86Subtarget::initializeEnvironment() { HasFMA = false; HasFMA4 = false; HasXOP = false; + HasTBM = false; HasMOVBE = false; HasRDRAND = false; HasF16C = false; |