[PATCH] [CodeGen] Combine small-element shuffles of scalar_to_vector in terms of the wider scalar.

Ahmed Bougacha ahmed.bougacha at gmail.com
Tue Apr 7 17:16:51 PDT 2015


Hi qcolombet, t.p.northover, spatel,

Continuing on D8883 and D8884, now that (if?) we decided on the (vector_shuffle (bitcast (scalar_to_vector))) form, we can further try to use the wider shuffle element type that was the input of the scalar_to_vector, if the shuffle mask permits it.

In practice this lets us recognize special patterns (see the DUP testcase) without needing to teach everything to deal with "this might be an i32 DUP shuffle, but is expressed in terms of i8 <0,1,2,3> sequences"

http://reviews.llvm.org/D8885

Files:
  lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  test/CodeGen/AArch64/concat_vectors-combines.ll

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D8885.23384.patch
Type: text/x-patch
Size: 5012 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150408/097d1b1c/attachment.bin>


More information about the llvm-commits mailing list