diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-02-27 21:01:57 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-02-27 21:01:57 +0000 |
commit | 5c4efcdddf3e08c8647ffd004e965240ea365801 (patch) | |
tree | 68f41ad5c190497f726842218b9041d3561e76bc /lldb/packages/Python/lldbsuite/test/python_api/thread/main2.cpp | |
parent | 7596f13d154c9814f72ca19c6dac9a4c0ae13491 (diff) | |
download | bcm5719-llvm-5c4efcdddf3e08c8647ffd004e965240ea365801.tar.gz bcm5719-llvm-5c4efcdddf3e08c8647ffd004e965240ea365801.zip |
[X86][SSE] Attempt to extract vector elements through target shuffles
DAGCombiner already supports peeking thorough shuffles to improve vector element extraction, but legalization often leaves us in situations where we need to extract vector elements after shuffles have already been lowered.
This patch adds support for VECTOR_EXTRACT_ELEMENT/PEXTRW/PEXTRB instructions to attempt to handle target shuffles as well. I've covered some basic scenarios including handling shuffle mask scaling and the implicit zero-extension of PEXTRW/PEXTRB, there is more that could be done here (that I've mentioned in TODOs) but I haven't found many cases where its worth it.
Differential Revision: https://reviews.llvm.org/D30176
llvm-svn: 296381
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/thread/main2.cpp')
0 files changed, 0 insertions, 0 deletions