diff options
author | Sanjay Patel <spatel@rotateright.com> | 2018-11-08 19:16:27 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2018-11-08 19:16:27 +0000 |
commit | b5535dc7b364671e63d6ab6cd1abb1f8745232bf (patch) | |
tree | 205c8fe4d991166cc1ec0413ae2fff4fbded8bfc /llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | |
parent | 6ce9f72f76e3c1c9c5b1cd5a65ba2b0bb319294f (diff) | |
download | bcm5719-llvm-b5535dc7b364671e63d6ab6cd1abb1f8745232bf.tar.gz bcm5719-llvm-b5535dc7b364671e63d6ab6cd1abb1f8745232bf.zip |
[x86] use shuffles for scalar insertion into high elements of a constant vector
As discussed in D54073, we have a potential regression from more aggressive vector narrowing here, so let's try to avoid that by changing build-vector lowering slightly.
Insert-vector-element lowering always does this since there's no "pinsr" for ymm/zmm:
// If the vector is wider than 128 bits, extract the 128-bit subvector, insert
// into that, and then insert the subvector back into the result.
...but we can sometimes do better for insert-into-constant-vector by using shuffle lowering.
Differential Revision: https://reviews.llvm.org/D54271
llvm-svn: 346433
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp')
0 files changed, 0 insertions, 0 deletions