summaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86Subtarget.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2011-10-16 07:55:05 +0000
committerCraig Topper <craig.topper@gmail.com>2011-10-16 07:55:05 +0000
commitb53fa8bf19a51f0c49a9f8b6ede3e2ff3bdfb961 (patch)
treeb1e46ae4478216cfe10014153b5825026f99d329 /lib/Target/X86/X86Subtarget.cpp
parentdc479c4a897bb7cc756370cc2051da79b65e7d16 (diff)
downloadllvm-b53fa8bf19a51f0c49a9f8b6ede3e2ff3bdfb961.tar.gz
llvm-b53fa8bf19a51f0c49a9f8b6ede3e2ff3bdfb961.tar.bz2
llvm-b53fa8bf19a51f0c49a9f8b6ede3e2ff3bdfb961.tar.xz
Add X86 BZHI instruction as well as BMI2 feature detection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142122 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86Subtarget.cpp')
-rw-r--r--lib/Target/X86/X86Subtarget.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/X86/X86Subtarget.cpp b/lib/Target/X86/X86Subtarget.cpp
index 670073a07b..c08dac9f99 100644
--- a/lib/Target/X86/X86Subtarget.cpp
+++ b/lib/Target/X86/X86Subtarget.cpp
@@ -283,6 +283,10 @@ void X86Subtarget::AutoDetectSubtargetFeatures() {
HasBMI = true;
ToggleFeature(X86::FeatureBMI);
}
+ if ((EBX >> 8) & 0x1) {
+ HasBMI2 = true;
+ ToggleFeature(X86::FeatureBMI2);
+ }
}
}
@@ -307,6 +311,7 @@ X86Subtarget::X86Subtarget(const std::string &TT, const std::string &CPU,
, HasF16C(false)
, HasLZCNT(false)
, HasBMI(false)
+ , HasBMI2(false)
, IsBTMemSlow(false)
, IsUAMemFast(false)
, HasVectorUAMem(false)