diff options
author | Craig Topper <craig.topper@gmail.com> | 2011-10-11 06:44:02 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2011-10-11 06:44:02 +0000 |
commit | 37f2167f15608ff56d202ff21954a456aab6e534 (patch) | |
tree | 3ab5d6a05935510edb921aee3198d7abc5007069 /lib/Target/X86/X86Subtarget.cpp | |
parent | f7f06103c25f9b4129e7833c8ce5b8c1b1747a6f (diff) |
Add X86 LZCNT instruction. Including instruction selection support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141651 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86Subtarget.cpp')
-rw-r--r-- | lib/Target/X86/X86Subtarget.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/X86/X86Subtarget.cpp b/lib/Target/X86/X86Subtarget.cpp index db5792a2b2..c2f60be321 100644 --- a/lib/Target/X86/X86Subtarget.cpp +++ b/lib/Target/X86/X86Subtarget.cpp @@ -255,6 +255,10 @@ void X86Subtarget::AutoDetectSubtargetFeatures() { HasX86_64 = true; ToggleFeature(X86::Feature64Bit); } + if ((ECX >> 5) & 0x1) { + HasLZCNT = true; + ToggleFeature(X86::FeatureLZCNT); + } if (IsAMD && ((ECX >> 6) & 0x1)) { HasSSE4A = true; ToggleFeature(X86::FeatureSSE4A); @@ -285,6 +289,7 @@ X86Subtarget::X86Subtarget(const std::string &TT, const std::string &CPU, , HasMOVBE(false) , HasRDRAND(false) , HasF16C(false) + , HasLZCNT(false) , IsBTMemSlow(false) , IsUAMemFast(false) , HasVectorUAMem(false) |