diff options
author | Eli Friedman <efriedma@codeaurora.org> | 2016-12-14 20:44:38 +0000 |
---|---|---|
committer | Eli Friedman <efriedma@codeaurora.org> | 2016-12-14 20:44:38 +0000 |
commit | cbed30c5012b9b52a495dadc94f14ea54f1b5b10 (patch) | |
tree | 8df8e1f2f28f11f7865edfb9cd0513a023651362 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 53816d074d928b3a39b6c07aabe43b419e9cc980 (diff) | |
download | bcm5719-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