[PowerPC] Swap arguments and adjust shift count for vsldoi on little endian
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>
Tue, 5 Aug 2014 20:47:25 +0000 (20:47 +0000)
committerBill Schmidt <wschmidt@linux.vnet.ibm.com>
Tue, 5 Aug 2014 20:47:25 +0000 (20:47 +0000)
commit42a6936c7897737d7aba023a8dfc6521bfbe66cb
treeb2166ee638d1c7ef6c40a29e68bc73837f02dc79
parent6e496338e638eb75aec0af74f621d5b7af7454e3
[PowerPC] Swap arguments and adjust shift count for vsldoi on little endian

Commits r213915 and r214718 fix recognition of shuffle masks for vmrg*
and vpku*um instructions for a little-endian target, by swapping the
input arguments.  The vsldoi instruction requires similar treatment,
and also needs its shift count adjusted for little endian.

Reviewed by Ulrich Weigand.

This is a bug fix candidate for release 3.5 (and hopefully the last of
those for PowerPC).

llvm-svn: 214923
llvm/lib/Target/PowerPC/PPCISelLowering.cpp
llvm/lib/Target/PowerPC/PPCISelLowering.h
llvm/lib/Target/PowerPC/PPCInstrAltivec.td
llvm/test/CodeGen/PowerPC/vec_shuffle_le.ll