[X86] Split combineGatherScatter into a version for generic ISD nodes and another...
authorCraig Topper <craig.topper@intel.com>
Sat, 28 Sep 2019 01:06:58 +0000 (01:06 +0000)
committerCraig Topper <craig.topper@intel.com>
Sat, 28 Sep 2019 01:06:58 +0000 (01:06 +0000)
commit22984ebd0ec18a262a1c7340db800fd5d3b95025
treefa52588cf2fcc248a88459734f1b8a91dcad0ab6
parent93c98346e98a50e481efda95c9b095bf2b1c8a73
[X86] Split combineGatherScatter into a version for generic ISD nodes and another version for X86 specific nodes.

The majority of the code doesn't run on the X86 nodes today since
its gated by isBeforeLegalizeOps and we don't formm X86 nodes
until after that. Except for a couple special case in type
legalization. But I think we would probably break those if
some of the transforms fire on them.

I want to remove the hardcoded operand numbers and the unusual
use of UpdateNodeOperands. Being able to know which ISD opcodes
are present should help with that.

llvm-svn: 373136
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/avx512-vec-cmp.ll