diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-04-24 18:23:14 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-04-24 18:23:14 +0000 |
commit | 83020942d32f462bd47064dcf6351e5c98f5c61b (patch) | |
tree | 4da7fbf10002493a2748b47c824eeadcf7f97715 /llvm/test/Transforms/InstCombine/bitcast-vector-fold.ll | |
parent | 424da1637a8af9fbdfbaeaeda3738985430d96eb (diff) | |
download | bcm5719-llvm-83020942d32f462bd47064dcf6351e5c98f5c61b.tar.gz bcm5719-llvm-83020942d32f462bd47064dcf6351e5c98f5c61b.zip |
[InstCombine][SSE] Demanded vector elements for scalar intrinsics (Part 2 of 2)
Split from D17490. This patch improves support for determining the demanded vector elements through SSE scalar intrinsics:
1 - demanded vector element support for unary and some extra binary scalar intrinsics (RCP/RSQRT/SQRT/FRCZ and ADD/CMP/DIV/ROUND).
2 - addss/addsd get simplified to a fadd call if we aren't interested in the pass through elements
3 - if we don't need the lowest element of a scalar operation then just use the first argument (the pass through elements) directly
We can add support for propagating demanded elements through any equivalent packed SSE intrinsics in a future patch (these wouldn't use the pass through patterns).
Differential Revision: http://reviews.llvm.org/D19318
llvm-svn: 267357
Diffstat (limited to 'llvm/test/Transforms/InstCombine/bitcast-vector-fold.ll')
0 files changed, 0 insertions, 0 deletions