Testing based on the total size of the elements failed to catch a few
invalid scenarios, so explicitly check the number of elements/operands
This failed to catch situations like
<4 x s16> = G_BUILD_VECTOR s32, s32 since the total size added
up. This also would fail to catch an implicit conversion between
pointers and scalars.