[clang] [ARM][Driver] Ensure NEON is enabled and disabled correctly (PR #137595)

via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 28 05:23:16 PDT 2025


================
@@ -803,12 +830,25 @@ llvm::ARM::FPUKind arm::getARMTargetFeatures(const Driver &D,
       llvm::find_if(llvm::reverse(Features), [](const StringRef F) {
         return F.contains("crypto") || F.contains("aes");
       });
-  const bool FoundSHA2 = ItSHA2 != Features.rend();
-  const bool FoundAES = ItAES != Features.rend();
-  if (FoundSHA2)
+  const auto ItBF16 =
+      llvm::find_if(llvm::reverse(Features),
+                    [](const StringRef F) { return F.contains("bf16"); });
+  const auto ItDotprod =
+      llvm::find_if(llvm::reverse(Features),
+                    [](const StringRef F) { return F.contains("dotprod"); });
+  const auto ItI8MM =
+      llvm::find_if(llvm::reverse(Features),
+                    [](const StringRef F) { return F.contains("i8mm"); });
+  if (ItSHA2 != Features.rend())
     HasSHA2 = ItSHA2->take_front() == "+";
-  if (FoundAES)
+  if (ItAES != Features.rend())
----------------
sivan-shani wrote:

`starts_with`

https://github.com/llvm/llvm-project/pull/137595


More information about the cfe-commits mailing list