[PATCH] D103274: [X86] Split FeatureFastVariableShuffle tuning into Lane-Crossing and Per-Lane variants

Pengfei Wang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun May 30 02:28:45 PDT 2021


pengfei added a comment.

In D103274#2788519 <https://reviews.llvm.org/D103274#2788519>, @RKSimon wrote:

> I'm happy with this but I do think we should always enable variable shuffles (both types) on all AVX512 targets as well (and maybe land that first to simplify this patch) - @pengfei @craig.topper what do you think?

The patch seems NFC for the existing targets to me, though I don't have a deep cognition on the shuffles' cost. No objections from me.



================
Comment at: llvm/lib/Target/X86/X86.td:326
 // using a variable mask over multiple fixed shuffles.
-def FeatureFastVariableShuffle
-    : SubtargetFeature<"fast-variable-shuffle",
-                       "HasFastVariableShuffle",
-                       "true", "Shuffles with variable masks are fast">;
+def FeatureFastVariableCrossLaneShuffle
+    : SubtargetFeature<"fast-variable-crosslane-shuffle",
----------------
Nit, are pre-lane shuffles always fast if the target has fast cross-lane shuffles? In this mean, we can keep `FeatureFastVariableShuffle` and make it implicate `FeatureFastVariablePerLaneShuffle`. So that we can reduce the changes?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D103274



More information about the llvm-commits mailing list