[Hexagon] Add setting hvx-qfloat in HexagonMCSubtargetInfo
authorJoshua Herrera <joshherr@quicinc.com>
Tue, 28 Dec 2021 19:21:47 +0000 (11:21 -0800)
committerKrzysztof Parzyszek <kparzysz@quicinc.com>
Wed, 5 Jan 2022 15:54:33 +0000 (07:54 -0800)
llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp

index dfdddb5..fd85e1e 100644 (file)
@@ -517,6 +517,14 @@ MCSubtargetInfo *Hexagon_MC::createHexagonMCSubtargetInfo(const Triple &TT,
     return nullptr;
   }
 
+  // Add qfloat subtarget feature by default to v68 and above
+  // unless explicitely disabled
+  if (checkFeature(X, Hexagon::ExtensionHVXV68) &&
+      ArchFS.find("-hvx-qfloat", 0) == std::string::npos) {
+    llvm::FeatureBitset Features = X->getFeatureBits();
+    X->setFeatureBits(Features.set(Hexagon::ExtensionHVXQFloat));
+  }
+
   if (HexagonDisableDuplex) {
     llvm::FeatureBitset Features = X->getFeatureBits();
     X->setFeatureBits(Features.reset(Hexagon::FeatureDuplex));