The old implementation was not always correct. The new one recognizes more shuffles that match specific instructions. llvm-svn: 322498