WaveReadLaneAt is no longer restricted to dynamically uniform index, so can implement the other shuffle ops.