OSDN Git Service

[AArch64] Avoid partial register writes on lane 0 of BUILD_VECTOR for i8/i16/f16
authorAdam Nemet <anemet@apple.com>
Thu, 13 Apr 2017 23:32:47 +0000 (23:32 +0000)
committerAdam Nemet <anemet@apple.com>
Thu, 13 Apr 2017 23:32:47 +0000 (23:32 +0000)
commit0100c808ce5e513ee746be0742191765f1ddc7dd
tree366e4ebc1c2d70b9ea3280daeefb6b7749ab3772
parent2b1bb6d8f89a8770933b18b8417500222e40db46
[AArch64] Avoid partial register writes on lane 0 of BUILD_VECTOR for i8/i16/f16

This further improves Ahmed's change in rL299482.  See the new comment for the
rationale.

The patch recovers most of the regression for bzip2 after D31965. We're down
to +2.68% from +6.97%.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@300276 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64ISelLowering.cpp
test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
test/CodeGen/AArch64/arm64-neon-copy.ll
test/CodeGen/AArch64/concat_vector-scalar-combine.ll