OSDN Git Service

[X86] Reduce the number of isel pattern variations needed for VPTESTM/VPTESTNM matching.
authorCraig Topper <craig.topper@intel.com>
Mon, 19 Feb 2018 19:23:31 +0000 (19:23 +0000)
committerCraig Topper <craig.topper@intel.com>
Mon, 19 Feb 2018 19:23:31 +0000 (19:23 +0000)
commit56fd21e66cbb2ecf4f9f1c0ad8b2e864bfba63b6
tree89f34b2fd0f31e2a5e320f8969a38e925e8ad8d8
parentd57c7490c56167600e8255abaf570e1169d798f4
[X86] Reduce the number of isel pattern variations needed for VPTESTM/VPTESTNM matching.

Canonicalize EQ/NE PCMPM to have build vector all zeros on the RHS so we don't have to pattern match it in both locations. This significantly reduces the number of isel patterns needed since we also had to multiply it out with loads being in either operand of the 'and' input node and in the 'and' masking node.

This removes over 24000 bytes from the isel table.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@325526 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86InstrAVX512.td
test/CodeGen/X86/avx512f-vec-test-testn.ll