gallivm: use shufflevector for shuffles when index is constant data
This checks if index is a ConstantAggregateZero, ConstantDataSequential, or UndefValue and emits a single shufflevector instead of a loop if so. Signed-off-by:Autumn on Tape <autumn@cyfox.net> Reviewed-by:
Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!13671>