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
diff --git a/lib/Target/X86/X86Subtarget.cpp b/lib/Target/X86/X86Subtarget.cpp
index 670073a..c08dac9 100644
--- a/lib/Target/X86/X86Subtarget.cpp
+++ b/lib/Target/X86/X86Subtarget.cpp
@@ -283,6 +283,10 @@
       HasBMI = true;
       ToggleFeature(X86::FeatureBMI);
     }
+    if ((EBX >> 8) & 0x1) {
+      HasBMI2 = true;
+      ToggleFeature(X86::FeatureBMI2);
+    }
   }
 }
 
@@ -307,6 +311,7 @@
   , HasF16C(false)
   , HasLZCNT(false)
   , HasBMI(false)
+  , HasBMI2(false)
   , IsBTMemSlow(false)
   , IsUAMemFast(false)
   , HasVectorUAMem(false)