[all-commits] [llvm/llvm-project] c143db: [X86][SSE] combineHorizontalPredicateResult - impr...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Fri Jun 19 03:43:52 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: c143db3b1032042193c152790bcefe34365e6d6c
https://github.com/llvm/llvm-project/commit/c143db3b1032042193c152790bcefe34365e6d6c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2020-06-19 (Fri, 19 Jun 2020)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-reduce-and-bool.ll
Log Message:
-----------
[X86][SSE] combineHorizontalPredicateResult - improve all_of(X == 0) for vXi64 on pre-SSE41 targets
Without SSE41 we don't have the PCMPEQQ instruction, making cmp-with-zero reductions more complicated than necessary. We can compare as vXi32 (PCMPEQD) and tweak the MOVMSK comparison to test upper/lower DWORD comparisons.
This pre-fixes something that occurs with null tests for vectors of (64-bit) pointers such as in PR35129.
More information about the All-commits
mailing list