intel/fs: Check for 16-bit immediates in fs_visitor::lower_mul_dword_inst is too strict
fs_visitor::lower_mul_dword_inst
contains this check to see if the immediate value will fit in 16 bits:
if (inst->src[1].file == IMM && inst->src[1].ud < (1 << 16)) {
I think this is too strict as it will only allow unsigned 16-bit values. -38 fits in 16 bits, but since (unsigned)-38 > (1 << 16)
, the check will fail.