1. Remove the part of r153848 which optimizes shuffle-of-shuffle into a new
authorNadav Rotem <nadav.rotem@intel.com>
Sat, 7 Apr 2012 21:19:08 +0000 (21:19 +0000)
committerNadav Rotem <nadav.rotem@intel.com>
Sat, 7 Apr 2012 21:19:08 +0000 (21:19 +0000)
commitd16c8d0d336638225378466bc17c9db156401817
treea9afe1da5eb726f19fb7b331444edfdceffd9482
parent961d666be4f3714452ff9f15470f9255d85f0506
1. Remove the part of r153848 which optimizes shuffle-of-shuffle into a new
   shuffle node because it could introduce new shuffle nodes that were not
   supported efficiently by the target.

2. Add a more restrictive shuffle-of-shuffle optimization for cases where the
   second shuffle reverses the transformation of the first shuffle.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154266 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/CellSPU/rotate_ops.ll
test/CodeGen/X86/2011-10-27-tstore.ll
test/CodeGen/X86/SwizzleShuff.ll
test/CodeGen/X86/vec_compare-2.ll
test/CodeGen/X86/vec_shuffle-37.ll
test/CodeGen/X86/widen_shuffle-1.ll