OSDN Git Service

[x86] allow pairs of PCMPEQ for vector-sized integer equality comparisons (PR33325)
authorSanjay Patel <spatel@rotateright.com>
Tue, 2 Jan 2018 16:38:29 +0000 (16:38 +0000)
committerSanjay Patel <spatel@rotateright.com>
Tue, 2 Jan 2018 16:38:29 +0000 (16:38 +0000)
commit8d24966875117a557f34e908216916cd3a8293a3
treeb8921f0881cebce7da56175814a1537f59c9fcb5
parentd8de4cebd982d816deacbaad4a7eda13955b9be1
[x86] allow pairs of PCMPEQ for vector-sized integer equality comparisons (PR33325)

This is an extension of D31156 with the goal that we'll allow memcmp() == 0 expansion
for x86 to use 2 pairs of loads per block.

The memcmp expansion pass (formerly part of CGP) will generate this kind of pattern
with oversized integer compares, so we want to transform these into x86-specific vector
nodes before legalization splits things into scalar chunks.

See PR33325 for more details:
https://bugs.llvm.org/show_bug.cgi?id=33325

Differential Revision: https://reviews.llvm.org/D41618

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@321656 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/setcc-wide-types.ll