[PATCH] D103274: [X86] AMD Zen 3 has fast per-lane variable shuffles

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 27 14:59:52 PDT 2021


lebedev.ri marked an inline comment as not done.
lebedev.ri added inline comments.


================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:36097
   // which is much simpler than any shuffle.
-  if (UnaryShuffle && MaskContainsZeros && AllowVariableMask &&
       isSequentialOrUndefOrZeroInRange(Mask, 0, NumMaskElts, 0) &&
----------------
craig.topper wrote:
> lebedev.ri wrote:
> > This one is weird. I'm not sure why fast-ness of variable shuffles matters here.
> You mean because it's just AND/FAND not a shuffle? Fastness was added to AllowVariableMask later. Initially it was just the depth check. Probably guarding the constant pool?
> You mean because it's just AND/FAND not a shuffle?

Yes.

> Fastness was added to AllowVariableMask later. Initially it was just the depth check. Probably guarding the constant pool?

Yes, i think so.


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