On power7/8 LE, prevent vxs load and store from expanding to lxvd2x/xxswapd and xxswapd/stxvd2x when vector is aligned with elements up to 4 bytes.
PR# 30730
Paths
| Differential D26861
[POWERPC][LE] prevent vxs load and store from expanding to lxvd2x/xxswapd and xxswapd/stxvd2x for aligned vectors ClosedPublic Authored by lei on Nov 18 2016, 9:16 AM.
Details Summary On power7/8 LE, prevent vxs load and store from expanding to lxvd2x/xxswapd and xxswapd/stxvd2x when vector is aligned with elements up to 4 bytes. PR# 30730
Diff Detail
Event Timelinekbarton edited edge metadata. Comment ActionsThe patterns for the int_ppc_vsx_lxvw4x and int_ppc_vsx_stxvw4x are still here. This revision now requires changes to proceed.Nov 18 2016, 11:12 AM lei edited edge metadata. Comment ActionsAddress kbarton's request to remove patterns for int_ppc_vsx_lxvw4x and int_ppc_vsx_stxvw4x for LE. This revision is now accepted and ready to land.Nov 22 2016, 10:49 AM Comment Actions I reverted this commit because it was causing some failures for Google. We will investigate once they produce a reduced test case but in the meantime, we were asked to revert this. Reopening the review until we get this resolved. This revision is now accepted and ready to land.Nov 29 2016, 3:17 PM Closed by commit rL301892: [PowerPC] Emit VMX loads/stores for aligned ops to avoid adding swaps on LE (authored by nemanjai). · Explain WhyMay 1 2017, 7:00 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 97379 llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp
llvm/trunk/lib/Target/PowerPC/PPCInstrVSX.td
llvm/trunk/test/CodeGen/PowerPC/build-vector-tests.ll
llvm/trunk/test/CodeGen/PowerPC/ppc64-i128-abi.ll
llvm/trunk/test/CodeGen/PowerPC/swaps-le-1.ll
llvm/trunk/test/CodeGen/PowerPC/swaps-le-2.ll
llvm/trunk/test/CodeGen/PowerPC/vsx-ldst.ll
llvm/trunk/test/CodeGen/PowerPC/vsx.ll
|