This matches llvm::VectorType.
It moves the size from the type bitfield into VectorType, increasing size by 8
bytes (including padding of 4). This is OK as we don't expect to create terribly
many of these types.
c.f. D77313 which enables large power-of-two sizes without growing VectorType.
I think you could keep NumElements in VectorTypeBitfields (just remove the bit specifier), as the size of those bitfields can be up to 8 bytes (see the static asserts around line 1775). That should be fine as long as NumTypeBits + 3 <= 32.