[PATCH] D86093: [X86][AVX] Lower v16i8/v8i16 shuffles using VTRUNC/TRUNCATE

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 17 11:24:45 PDT 2020


craig.topper added a comment.

It looks like we may have already doing it in some cases, but is a VTRUNC for xmm->xmm really better the VPSHUFB? VTRUNC is 2 port 5 uops. VPSHUFB is 1 port 5 uop.



================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:11399
+  unsigned EltSizeInBits = VT.getScalarSizeInBits();
+  if (Mask.size() != NumElts)
+    return SDValue();
----------------
When does this condition happen? Doesn't Mask always follow VT in shuffle lowering?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D86093



More information about the llvm-commits mailing list