Add vmv.s.x test

This test saves a register into vd[0] element.

This is important for the vector reduction operations (vred*)
where the result of the operation (e.g. sum of all elements)
is placed into the 0th element of vd[0].

The complication of this operation when the scalar reg value (which is
always e32) will be saved over a vector element of a different SEW.

For e32 > SEW, there must be proper truncation, and for e32 < SEW
there must be proper sign extension.

Due to this having a unique direction (scalar to vector), creating a
custom test instead of the typical softrvv approach.

Note: there is a inverse operation which places vd[0] back into
a scalar register called `vmv.x.s`, and will be added in a separate
commit.

Change-Id: Ib35b3f56d2ca3e05ea0e98705bf90ebe59a5ff0e
6 files changed