ac/nir: mask shift operands
Unlike NIR, large shift values returns a poison value.
This caused LLVM to incorrectly optimize (a >> c) | (b << (32 - c))
to a funnel shift right (v_alignbit_b32
), when the original NIR should have returned a | b
if c==0
.