[PATCH] D28810: [X86][SSE] Use MOVMSK for all_of/any_of reduction patterns
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 1 10:12:13 PST 2017
RKSimon added inline comments.
================
Comment at: test/CodeGen/X86/vector-compare-all_of.ll:739-746
+; SSE-NEXT: pmovmskb %xmm0, %eax
+; SSE-NEXT: cmpl $65535, %eax # imm = 0xFFFF
+; SSE-NEXT: movb $-1, %al
+; SSE-NEXT: je .LBB14_2
+; SSE-NEXT: # BB#1:
+; SSE-NEXT: xorl %eax, %eax
+; SSE-NEXT: .LBB14_2:
----------------
andreadb wrote:
> I was expecting to see the usual `cmpl+movw+cmov` pattern here.
> Is it because you would end up with a conditional move of i8 quantities?
Hmm, it might be possible to lower this as:
```
pmovmskb %xmm0, %edi
xor %eax, %eax
cmpl $65535, %edi
sete %al
negl %eax
retq
```
Repository:
rL LLVM
https://reviews.llvm.org/D28810
More information about the llvm-commits
mailing list