Based off bugs such as:
https://bugs.llvm.org/show_bug.cgi?id=47491
https://bugs.llvm.org/show_bug.cgi?id=49933
This is a WIP patch investigating x86 supporting vectorizing to 64-bit vector widths. Although 128-bits is the minimum architectural vector width on SSE targets, we do have fast load/stores for 64-bits and we've widened all shorter vector types to 128-bits for some time so there should be no extension/truncation nastiness to get in the way.
The description for getMinVectorRegisterBitWidth() is "The width of the smallest vector register type" - if there's concern that we're stretching this too far, we could add a new 'getMinVectorizationBitWidth()' TTI call that calls getMinVectorRegisterBitWidth() by default and use that. But at the moment only SLP and VectorCombiner actually uses it.