R600/SI: Improve legalization of vector operations

This should fix hangs in the OpenCL piglit tests.