[PATCH] D27220: [X86][SSE] Add support for target shuffle constant folding

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 29 11:10:53 PST 2016


RKSimon created this revision.
RKSimon added reviewers: zvi, mkuper, craig.topper, andreadb, spatel.
RKSimon added a subscriber: llvm-commits.
RKSimon set the repository for this revision to rL LLVM.

Initial support for target shuffle constant folding in cases where all shuffle inputs are constant. We may be able to relax this and merge shuffles with only some constant inputs in the future.

I've added the helper function getTargetConstantBitsFromNode (based off a similar function in X86ShuffleDecodeConstantPool.cpp) that could be reused for other cases requiring constant vector extraction.


Repository:
  rL LLVM

https://reviews.llvm.org/D27220

Files:
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/vector-shuffle-combining-avx.ll
  test/CodeGen/X86/vector-shuffle-combining-avx2.ll
  test/CodeGen/X86/vector-shuffle-combining-ssse3.ll
  test/CodeGen/X86/vector-shuffle-combining-xop.ll
  test/CodeGen/X86/vector-shuffle-mmx.ll
  test/CodeGen/X86/vselect-avx.ll
  test/CodeGen/X86/widen_load-2.ll
  test/CodeGen/X86/widen_shuffle-1.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27220.79608.patch
Type: text/x-patch
Size: 29359 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161129/b299370f/attachment.bin>


More information about the llvm-commits mailing list