intel/fs: Fix D to W conversion in opt_combine_constants

Found by GCC warning:

src/intel/compiler/brw_fs_combine_constants.cpp: In function ‘bool needs_negate(const fs_reg*, const imm*)’:
src/intel/compiler/brw_fs_combine_constants.cpp:306:34: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
       return ((reg->d & 0xffffu) < 0) != (imm->w < 0);
               ~~~~~~~~~~~~~~~~~~~^~~

The result of the bit-and is a 32-bit value with the top bits all zero.
This will never be < 0.  Instead of masking off the bits, just cast to
int16_t and let the compiler handle the actual conversion.

Fixes: e64be391 ("intel/compiler: generalize the combine constants pass")
Cc: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
14 jobs for !703 with review/fix-D-to-W-conversion in 18 minutes and 29 seconds (queued for 2 seconds)
latest detached
Status Job ID Name Coverage
  Containers Build
passed #258683
debian

00:00:22

 
  Build+Test
passed #258685
meson-clang

00:11:35

passed #258691
meson-gallium-clover-llvm

00:04:13

passed #258692
meson-gallium-clover-llvm39

00:04:10

passed #258690
meson-gallium-drivers-other

00:06:35

passed #258689
meson-gallium-radeonsi

00:03:41

passed #258693
meson-gallium-st-other

00:04:05

passed #258684
meson-gallium-swr

00:09:56

passed #258688
meson-glvnd

00:06:04

passed #258687
meson-loader-classic-dri

00:04:32

passed #258686
meson-vulkan

00:02:48

passed #258695
scons-llvm

00:18:05

passed #258694
scons-nollvm

00:02:44

passed #258696
scons-swr

00:05:19