summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorEli Friedman <efriedma@codeaurora.org>2016-12-14 20:44:38 +0000
committerEli Friedman <efriedma@codeaurora.org>2016-12-14 20:44:38 +0000
commitcbed30c5012b9b52a495dadc94f14ea54f1b5b10 (patch)
tree8df8e1f2f28f11f7865edfb9cd0513a023651362 /clang/lib/CodeGen/CodeGenModule.cpp
parent53816d074d928b3a39b6c07aabe43b419e9cc980 (diff)
downloadbcm5719-llvm-cbed30c5012b9b52a495dadc94f14ea54f1b5b10.tar.gz
bcm5719-llvm-cbed30c5012b9b52a495dadc94f14ea54f1b5b10.zip
[ARM] Split 128-bit vectors in BUILD_VECTOR lowering
Given that INSERT_VECTOR_ELT operates on D registers anyway, combining 64-bit vectors into a 128-bit vector is basically free. Therefore, try to split BUILD_VECTOR nodes before giving up and lowering them to a series of INSERT_VECTOR_ELT instructions. Sometimes this allows dramatically better lowerings; see testcases for examples. Inspired by similar code in the x86 backend for AVX. Differential Revision: https://reviews.llvm.org/D27624 llvm-svn: 289706
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud