Since we implemented extraction of integer vector elements using direct moves and we use direct moves for int to fp conversions, we end up with strange code when doing both operations. Namely, extracting an element and then converting that to fp results in a direct move out of a VSR followed immediately by a direct move back to a VSRL. This patch just eliminates both of those direct moves.
Power9 instructions won't help this situation so we would still have this issue with Power9 if we don't fix it with a patch like this.
A similar situation exists for extracting/converting integers of other widths, but the fix is non-trivial and it is not clear that there are alternatives that are much better. This can be addressed in the future.
This patch fixes PR 28117.