[PATCH] D40633: [PCG] Poor shuffle lane tracking (PR35454 )

Konstantin Belochapka via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 29 19:58:30 PST 2017


kbelochapka created this revision.

Fix allows for the following transformation to take place:  
BINARY-OPERATION( SHUFFLE(vector1, mask), SHUFFLE(vector2, mask)) -> SHUFFLE(  BINARY-OPERATION(vector1, vector2), mask)
in a case when BINARY-OPERATION instruction operands vector type is different from SHUFFLE instruction operands vector type. e.g. <4 x i32> and <16 x i8>, obviously the both data types need to have the same width.


https://reviews.llvm.org/D40633

Files:
  lib/Transforms/InstCombine/InstructionCombining.cpp
  test/Transforms/InstCombine/vec_shuffle.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D40633.124869.patch
Type: text/x-patch
Size: 5270 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171130/fa35cee5/attachment.bin>


More information about the llvm-commits mailing list