diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2020-09-02 16:53:41 +0100 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2020-09-02 16:55:00 +0100 |
commit | 888049b97a7495ba669020522bcae6691287bd9a (patch) | |
tree | 47b848255044e694260aec2caae626e36c3555b9 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 39cf83cc78ff0a017fb9de27d45b87217aa6f558 (diff) | |
download | llvm-888049b97a7495ba669020522bcae6691287bd9a.zip llvm-888049b97a7495ba669020522bcae6691287bd9a.tar.gz llvm-888049b97a7495ba669020522bcae6691287bd9a.tar.bz2 |
[X86][SSE] Fold vselect(pshufb,pshufb) -> or(pshufb,pshufb)
If the PSHUFBs have no other uses, then we can force the unselected elements to zero to OR them instead, avoiding both an extra mask load and a costly variable blend.
Eventually we should try to bring this into shuffle combining, once we can more easily convert between shuffles + select patterns.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions