commit | 515d342a88b10900fbde84a8239677c5302cb267 | [log] [tgz] |
---|---|---|
author | Sanjay Patel <spatel@rotateright.com> | Thu Feb 21 20:40:39 2019 +0000 |
committer | Sanjay Patel <spatel@rotateright.com> | Thu Feb 21 20:40:39 2019 +0000 |
tree | ec6a361b590fc3d486d13ed0cc7b3b9dba962dfb | |
parent | 90719497bc55528921f961c03235bcf94bafc68e [diff] |
[x86] vectorize more cast ops in lowering to avoid register file transfers This is a follow-up to D56864. If we're extracting from a non-zero index before casting to FP, then shuffle the vector and optionally narrow the vector before doing the cast: cast (extelt V, C) --> extelt (cast (extract_subv (shuffle V, [C...]))), 0 This might be enough to close PR39974: https://bugs.llvm.org/show_bug.cgi?id=39974 Differential Revision: https://reviews.llvm.org/D58197 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354619 91177308-0d34-0410-b5e6-96231b3b80d8