[PATCH] D54267: [X86][SSE] Add lowerVectorShuffleAsByteRotateAndPermute (PR39387)

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 9 06:01:21 PST 2018


RKSimon updated this revision to Diff 173308.
RKSimon added a comment.

Add 256-bit vector support.

The ymm support requires a minor hack that prevents lowerVectorShuffleAsBlendAndPermute from lowering if the blend mask wouldn't be an immediate (i.e. PBLENDVB), it'll instead try to lower using lowerVectorShuffleAsUNPCKAndPermute and then lowerVectorShuffleAsByteRotateAndPermute before falling back on lowerVectorShuffleAsBlendAndPermute again. This helps the code from https://godbolt.org/z/cot3xT


Repository:
  rL LLVM

https://reviews.llvm.org/D54267

Files:
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/insertelement-ones.ll
  test/CodeGen/X86/vector-shuffle-128-v16.ll
  test/CodeGen/X86/vector-shuffle-256-v32.ll
  test/CodeGen/X86/x86-interleaved-access.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D54267.173308.patch
Type: text/x-patch
Size: 41971 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181109/0f5bd82a/attachment.bin>


More information about the llvm-commits mailing list