intel/compiler: Properly handle shift count for 8-bit sources

This fixes the Crucible func.shader.shift.int8_t test on Gen8 and Gen9.
See crucible!76.

No changes in fossil-db because there are no shaders in fossil-db that
use shaderInt8. :(

A couple alternatives were considered.

1. Lower 8-bit integers to 16-bit on all platforms.  I looked at the
   output of a few shaders from the Vulkan CTS, and it was a mess.
   There were so many extra type converting MOVs.  I think all of that
   could be cleaned up, but it would be more work.  It would also not be
   great for cherry-picking to a stable branch.

2. Disable the optimization that prunes the `& 7`.  This would be more
   optimal in shaders that don't have the explicit mask, but it's not
   very future proof.  It would potentially require auditing future
   optimizations to make sure they don't run afoul of this problem.

In the end, the easiest solution seems to be adding the extra mask to
implement the specified semantics of the NIR shift instructions...
especially since the only shaders we have that use shaderInt8 are from
the CTS.

Fixes: 26fc5e1f ("nir/algebraic: expand existing 32-bit patterns to all bit sizes using loops")
35 jobs for !8730 with review/shift-int8 in 10 seconds (queued for 3 seconds)
latest detached
Status Job ID Name Coverage
  Sanity
passed #6910075
sanity

00:00:10

 
  Container
manual #6910078
aarch64 manual
arm_build
manual #6910079
manual
arm_test-base
manual #6910080
windows shell 1809 mesa manual
windows_build_vs2019
manual #6910076
manual
x86_build-base
manual #6910077
manual
x86_test-base
 
  Container 2
created #6910088
android_build
created #6910091
arm64_test
created #6910092
armhf_test
created #6910085
i386_build
created #6910081
kernel+rootfs_amd64
created #6910082
aarch64
kernel+rootfs_arm64
created #6910083
aarch64
kernel+rootfs_armhf
created #6910086
ppc64el_build
created #6910087
s390x_build
created #6910084
x86_build
created #6910089
x86_test-gl
created #6910090
x86_test-vk
 
  Meson X86 64
created #6910098
meson-clang
created #6910099
meson-clover
created #6910095
meson-clover-testing
created #6910096
meson-gallium
created #6910097
meson-release
created #6910093
meson-testing
created #6910094
meson-testing-asan
created #6910100
meson-vulkan
 
  Build Misc
created #6910101
meson-android
created #6910103
aarch64
meson-arm64
created #6910104
aarch64
meson-arm64-build-test
created #6910102
aarch64
meson-armhf
created #6910106
meson-i386
created #6910109
meson-mingw32-x86_64
created #6910108
kvm
meson-ppc64el
created #6910107
kvm
meson-s390x
created #6910105
allowed to fail
scons-win64