Support widen result for VECTOR_REVERSE.
After widen and reverse, extract real value and fill undef value in the tail to build a new vector.
I am not sure if I should add widen vector_reverse result for fixed-vectors, because when I use llvm.experimental.vector.reverse for fixed-vectors it will become to vector_shuffle ISD node.
Can we use SHUFFLE_VECTOR here?