[PATCH] D24491: [DAG] Allow build_vector-to-vector_shuffle combine to combine builds from two overly-wide vectors.

Michael Kuperstein via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 12 19:42:58 PDT 2016


mkuper created this revision.
mkuper added reviewers: andreadb, RKSimon, spatel.
mkuper added a subscriber: llvm-commits.

This allows us to create a vector_shuffle out of a build_vector, when we have extract_elements from two inputs, at least one of which is wider than the output.
(E.g. a <8 x i16> being constructed out of elements from a <16 x i16> and a <8 x i16>).

This is the first patch in a series - the idea is to get all of the "oddshuffles" tests to use shuffles instead of insert/extract sequences. Most (all?) of the remaining cases require building a vector out of more than 2 inputs.

https://reviews.llvm.org/D24491

Files:
  lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  test/CodeGen/X86/oddshuffles.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24491.71100.patch
Type: text/x-patch
Size: 12576 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160913/8b5a06c5/attachment.bin>


More information about the llvm-commits mailing list