summaryrefslogtreecommitdiff
path: root/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2011-10-16 00:21:51 +0000
committerCraig Topper <craig.topper@gmail.com>2011-10-16 00:21:51 +0000
commit4145c49aa0e0e70a51a395bdd4107a464d05e592 (patch)
tree6b440e53351a2f7115130e6517855a16f9508431 /lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
parent566f233ba64c0bb2773b5717cb18753c7564f4b7 (diff)
downloadllvm-4145c49aa0e0e70a51a395bdd4107a464d05e592.tar.gz
llvm-4145c49aa0e0e70a51a395bdd4107a464d05e592.tar.bz2
llvm-4145c49aa0e0e70a51a395bdd4107a464d05e592.tar.xz
Add X86 feature detection support for BMI instructions. Added new cpuid function for accessing leafs with sub leafs specified in ECX. Also added code to keep track of the max cpuid level supported in both basic and extended leaves and qualified the existing cpuid calls and the new call to leaf 7.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142089 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h')
-rw-r--r--lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h b/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
index c144c513de..a4e0b5af9e 100644
--- a/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
+++ b/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
@@ -54,6 +54,11 @@ namespace X86_MC {
/// the specified arguments. If we can't run cpuid on the host, return true.
bool GetCpuIDAndInfo(unsigned value, unsigned *rEAX,
unsigned *rEBX, unsigned *rECX, unsigned *rEDX);
+ /// GetCpuIDAndInfoEx - Execute the specified cpuid with subleaf and return
+ /// the 4 values in the specified arguments. If we can't run cpuid on the
+ /// host, return true.
+ bool GetCpuIDAndInfoEx(unsigned value, unsigned subleaf, unsigned *rEAX,
+ unsigned *rEBX, unsigned *rECX, unsigned *rEDX);
void DetectFamilyModel(unsigned EAX, unsigned &Family, unsigned &Model);