OSDN Git Service

[PowerPC] Emit VMX loads/stores for aligned ops to avoid adding swaps on LE
authorNemanja Ivanovic <nemanja.i.ibm@gmail.com>
Tue, 2 May 2017 01:47:34 +0000 (01:47 +0000)
committerNemanja Ivanovic <nemanja.i.ibm@gmail.com>
Tue, 2 May 2017 01:47:34 +0000 (01:47 +0000)
commitff5dd4527f2b487f450561fde9ddd7f5e4a5c7bc
tree28d5b662814a6c4fa316b644c39108bd69aec83c
parent2f6226dcbdec66bfe9d79a521d713d57502407da
[PowerPC] Emit VMX loads/stores for aligned ops to avoid adding swaps on LE

Fixes PR30730.
This is a re-commit of a pulled commit. The commit was pulled because some
software projects contained uses of Altivec vectors that violated alignment
requirements. Known issues have now been fixed.

Committing on behalf of Lei Huang.

Differential Revision: https://reviews.llvm.org/D26861

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301892 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/PowerPC/PPCISelLowering.cpp
lib/Target/PowerPC/PPCInstrVSX.td
test/CodeGen/PowerPC/build-vector-tests.ll
test/CodeGen/PowerPC/ppc64-i128-abi.ll
test/CodeGen/PowerPC/swaps-le-1.ll
test/CodeGen/PowerPC/swaps-le-2.ll
test/CodeGen/PowerPC/vsx-ldst.ll
test/CodeGen/PowerPC/vsx.ll