[PATCH] D120257: [AArch64][SME] Replace +streaming-sve feature with +streaming-compatible-<feature>.

Cullen Rhodes via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 22 12:29:47 PST 2022


c-rhodes added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64.td:441-460
+def FeatureStreamingCompatibleNEON
+    : SubtargetFeature<"streaming-compatible-neon",
+                       "HasStreamingCompatibleNEON", "true",
+                       "Enable subset of NEON instructions that are valid in "
+                       "both streaming SVE mode as well as regular mode",
+                       [FeatureFPARMv8, FeatureFullFP16]>;
+
----------------
paulwalker-arm wrote:
> Do we need to split the feature flags based on other feature flag boundaries?  Why not just `FeatureStreamingCompatible`?  I'm not saying the above is wrong, but it does seem like an extra level of indirection so just trying to understand the reasoning.
> Do we need to split the feature flags based on other feature flag boundaries?  Why not just `FeatureStreamingCompatible`?  I'm not saying the above is wrong, but it does seem like an extra level of indirection so just trying to understand the reasoning.

I agree, naming aside I don't understand what the limitations of the existing feature flag are and why this extra granularity at the flag level is required.




================
Comment at: llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp:60-69
-  // Most of the NEON instruction set isn't supported in streaming mode on SME
-  // targets, disable NEON unless explicitly requested.
-  bool RequestedNEON = FS.contains("neon");
-  bool RequestedStreamingSVE = FS.contains("streaming-sve");
-  MCSubtargetInfo *STI =
-      createAArch64MCSubtargetInfoImpl(TT, CPU, /*TuneCPU*/ CPU, FS);
-  if (RequestedStreamingSVE && !RequestedNEON &&
----------------
why is this removed?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D120257



More information about the llvm-commits mailing list