[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 17:11:37 PDT 2021


pengfei added inline comments.


================
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",
----------------
lebedev.ri wrote:
> pengfei wrote:
> > 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?
> Assumptions like this is pretty much why i'm having to do this change in the first place...
> Could you please specify, *what* specific changes would be simplified by that?
> I'm not really seeing it.
I meant if we define it like
```
def FeatureFastVariableShuffle
    : SubtargetFeature<"fast-variable-shuffle",
                       "HasFastVariableShuffle",
                       "true", "Shuffles with variable masks are fast",
                       [FeatureFastVariablePerLaneShuffle]>;
```
then we can keep most use of `FeatureFastVariableShuffle` unchanged.
Anyway, it is just nitpicking.


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