[X86] Various improvements to our vector splitting helpers for lowering. NFC
authorCraig Topper <craig.topper@intel.com>
Wed, 15 Apr 2020 17:04:18 +0000 (10:04 -0700)
committerCraig Topper <craig.topper@intel.com>
Wed, 15 Apr 2020 17:57:53 +0000 (10:57 -0700)
commita916e819275922ab9a350283a12647da6f4ad4b1
tree5f2d9598ccfa59fec1225938977ba203331bc6fd
parent7ce1a93efd0700770f7c5c368999a44db0d222e8
[X86] Various improvements to our vector splitting helpers for lowering. NFC

-Consistently name the functions as split*
-Add a helper for doing the two extractSubvector calls and determining the size of the split
-Use getSplitDestVTs to get the result type for the split node.
-Move the binary and unary helper to one place in the file near the extractSubvector functions. Left the VSETCC one near LowerVSETCC since that's its only caller.
-Remove the 256/512 wrappers that just had asserts. I don't think they provided a lot of value and now with the routines called split* the call sites are more obvious what they do.
-Make the unary routine support different source and dest types to support D76212.
-Add some weaker asserts into the helpers to make up for losing the very specific asserts from the 256/512 wrappers.

Differential Revision: https://reviews.llvm.org/D78176
llvm/lib/Target/X86/X86ISelLowering.cpp