If a data layout specifies a vector alignment that is less than the
alignment of the element type, prefer the element alignment.
This alters the vector ABI alignment so that vector elements are always
aligned appropriately for their type.
This oddity of data layout doesn't seem to happen in any existing
backends, but does in DirectX where vector alignment has a lower bound
of the element type. For example < 4 x float > requires 32-bit
alignment, and < 2 x double > requires 64.