vec_xl() and vec_xst() should not emit alignment hints since they take a scalar pointer and also add an arbitrary byte offset to that.
This uses memcpy to achieve the desired result which seems to work well with optimizations enabled.
(I did not manage to use some kind of "attribute aligned" on the pointer to make the alignment go away...)