diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2021-01-15 16:25:05 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2021-01-15 16:25:25 +0000 |
commit | be69e66b1cd826f499566e1c3dadbf04e872baa0 (patch) | |
tree | 94623d560d3568d74a9e7c4ef38bd45890f220a8 /llvm/lib/Transforms/Utils/BasicBlockUtils.cpp | |
parent | 1a497ae9b83653682d6d20f1ec131394e523375d (diff) | |
download | llvm-be69e66b1cd826f499566e1c3dadbf04e872baa0.zip llvm-be69e66b1cd826f499566e1c3dadbf04e872baa0.tar.gz llvm-be69e66b1cd826f499566e1c3dadbf04e872baa0.tar.bz2 |
[X86][SSE] Attempt to fold shuffle(binop(),binop()) -> binop(shuffle(),shuffle())
If this will help us fold shuffles together, then push the shuffle through the merged binops.
Ideally this would be performed in DAGCombiner::visitVECTOR_SHUFFLE but getting an efficient+legal merged shuffle can be tricky - on SSE we can be confident that for 32/64-bit elements vectors shuffles should easily fold.
Diffstat (limited to 'llvm/lib/Transforms/Utils/BasicBlockUtils.cpp')
0 files changed, 0 insertions, 0 deletions