Add Ivy Bridge 16-bit floating point conversion instructions for the X86 disassembler.
[oota-llvm.git] / lib / Target / X86 / X86Subtarget.cpp
index 2d24a5ed15a8ac2b8aede1e94f6802d4bf267180..1069dcb08fc82cc36896b7a19d824bc4db6fbbe5 100644 (file)
@@ -206,6 +206,7 @@ void X86Subtarget::AutoDetectSubtargetFeatures() {
   HasMOVBE = IsIntel && ((ECX >> 22) & 0x1);  ToggleFeature(X86::FeatureMOVBE);
   HasPOPCNT = IsIntel && ((ECX >> 23) & 0x1); ToggleFeature(X86::FeaturePOPCNT);
   HasAES   = IsIntel && ((ECX >> 25) & 0x1);  ToggleFeature(X86::FeatureAES);
+  HasF16C  = IsIntel && ((ECX >> 29) & 0x1);  ToggleFeature(X86::FeatureF16C);
   HasRDRAND = IsIntel && ((ECX >> 30) & 0x1); ToggleFeature(X86::FeatureRDRAND);
   HasCmpxchg16b = ((ECX >> 13) & 0x1); ToggleFeature(X86::FeatureCMPXCHG16B);
 
@@ -258,6 +259,7 @@ X86Subtarget::X86Subtarget(const std::string &TT, const std::string &CPU,
   , HasFMA4(false)
   , HasMOVBE(false)
   , HasRDRAND(false)
+  , HasF16C(false)
   , IsBTMemSlow(false)
   , IsUAMemFast(false)
   , HasVectorUAMem(false)