[PATCH] D17858: [X86][SSE] Basic combining of unary target shuffles of binary target shuffles.

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 3 10:43:25 PST 2016


RKSimon created this revision.
RKSimon added reviewers: qcolombet, ab, spatel, andreadb.
RKSimon added a subscriber: llvm-commits.
RKSimon set the repository for this revision to rL LLVM.

This patch reorders the combining of target shuffle masks so that when a unary shuffle takes a binary shuffle as its input but only references one of its inputs it can correctly combine into a unary shuffle mask.

There is a lot more work before we can properly support binary target shuffle masks but this was an easy case to add support for.

Note: I have an additional followup patch that will deal with the failed combining of the shuffle_v2i64_bitcast_z123 AVX2 / AVX512 test cases (the blend with zero combining currently fails to combine 2 blend shuffles with the same blend mask).

Repository:
  rL LLVM

http://reviews.llvm.org/D17858

Files:
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/vector-shuffle-128-v2.ll
  test/CodeGen/X86/vector-shuffle-combining-ssse3.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17858.49756.patch
Type: text/x-patch
Size: 4696 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160303/8ed0d6a3/attachment.bin>


More information about the llvm-commits mailing list