diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-07-21 14:10:54 +0000 |
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-07-21 14:10:54 +0000 |
| commit | c8e20b1150356dc8796778791a7eeb27c8dc6106 (patch) | |
| tree | 3543e8ed7a57d8c44c3f6e99cb6bdc2ad1aa647d /llvm/lib/Support/FoldingSet.cpp | |
| parent | 62aee528f643419a4123a02d176323905e2be780 (diff) | |
| download | bcm5719-llvm-c8e20b1150356dc8796778791a7eeb27c8dc6106.tar.gz bcm5719-llvm-c8e20b1150356dc8796778791a7eeb27c8dc6106.zip | |
[X86][AVX] Added support for lowering to VBROADCASTF128/VBROADCASTI128
As reported on PR26235, we don't currently make use of the VBROADCASTF128/VBROADCASTI128 instructions (or the AVX512 equivalents) to load+splat a 128-bit vector to both lanes of a 256-bit vector.
This patch enables lowering from subvector insertion/concatenation patterns and auto-upgrades the llvm.x86.avx.vbroadcastf128.pd.256 / llvm.x86.avx.vbroadcastf128.ps.256 intrinsics to match.
We could possibly investigate using VBROADCASTF128/VBROADCASTI128 to load repeated constants as well (similar to how we already do for scalar broadcasts).
Differential Revision: https://reviews.llvm.org/D22460
llvm-svn: 276281
Diffstat (limited to 'llvm/lib/Support/FoldingSet.cpp')
0 files changed, 0 insertions, 0 deletions

