[PATCH] D116939: [AArch64] clang support for Armv8.8/9.3 HBC

Nick Desaulniers via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 10 10:54:50 PST 2022


nickdesaulniers added inline comments.


================
Comment at: clang/lib/Basic/Targets/AArch64.cpp:666-675
+  HasHBC |= ArchKind == llvm::AArch64::ArchKind::ARMV8_8A ||
+            ArchKind == llvm::AArch64::ArchKind::ARMV9_3A;
+
+  // Check features that are manually disabled by command line options.
+  // This needs to be checked after architecture-related features are handled,
+  // making sure they are properly disabled when required.
+  for (const auto &Feature : Features) {
----------------
this whole block is suspect to me. Why is HBC special with regards to all other architectural extensions?


================
Comment at: clang/lib/Basic/Targets/AArch64.cpp:672
+  // making sure they are properly disabled when required.
+  for (const auto &Feature : Features) {
+    if (Feature == "-hbc")
----------------
Sorry, why do we need another trip through `Features` for this?


================
Comment at: llvm/include/llvm/Support/AArch64TargetParser.def:148
 AARCH64_ARCH_EXT_NAME("pmuv3p4",      AArch64::AEK_PERFMON,     "+perfmon", "-perfmon")
+AARCH64_ARCH_EXT_NAME("hbc",          AArch64::AEK_HBC,         "+hbc",  "-hbc")
 #undef AARCH64_ARCH_EXT_NAME
----------------
there seems to be extra whitespace between the final 2 params, but it doesn't align anything. Either remove the excess padding, or align it to a previous column.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D116939/new/

https://reviews.llvm.org/D116939



More information about the cfe-commits mailing list