]> granicus.if.org Git - llvm/commit
[PowerPC] Avoid scalarization of vector truncate
authorRoland Froese <froese@ca.ibm.com>
Mon, 11 Feb 2019 17:29:14 +0000 (17:29 +0000)
committerRoland Froese <froese@ca.ibm.com>
Mon, 11 Feb 2019 17:29:14 +0000 (17:29 +0000)
commit0783d48feda80d7750e9e43fd324e8e1864765cb
tree06cda5cd76446e48caa8c552c11717f10f5f2cb7
parentbaeeed43cc24472e1cbc83fb0b6ee0f70eef8e1f
[PowerPC] Avoid scalarization of vector truncate

The PowerPC code generator currently scalarizes vector truncates that would fit in a vector register, resulting in vector extracts, scalar operations, and vector merges. This patch custom lowers a vector truncate that would fit in a register to a vector shuffle instead.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353724 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/PowerPC/PPCISelLowering.cpp
lib/Target/PowerPC/PPCISelLowering.h
test/CodeGen/PowerPC/vec-trunc.ll