nir: fix nir_ishl_imm

Both GLSL & SPIRV have undefined values for shift > bitsize. But SM5
says :

   "This instruction performs a component-wise shift of each 32-bit
    value in src0 left by an unsigned integer bit count provided by
    the LSB 5 bits (0-31 range) in src1, inserting 0."

Better to not hard code the wrong behavior in NIR.

Signed-off-by: Lionel Landwerlin <>
Fixes: e227bb9fd5 ("nir/builder: add ishl_imm helper")
Reviewed-by: Alyssa Rosenzweig <>
Reviewed-by: Faith Ekstrand <>
Part-of: <>
(cherry picked from commit a278eeb71974a89b6dd7c0fa3dbfe97183aeb657)
2 files changed