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

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 27 14:48:16 PDT 2021


craig.topper 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) &&
----------------
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?


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