intel_shader_integer_functions2: Add tests for Intel compiler bug
These test cases exposes a bug in constant propagation in the compiler backend for the Intel Mesa drivers. The multiply32x16
instructions used here will initially create a sequence like
mov(8) g8<1>D 0x7fffffffD
mul(8) g16<1>D g8<8,8,1>D g15<16,8,2>W
The constant propagation in the compiler backend will transform that to
mul(8) g16<1>D g15<16,8,2>W 0x7fffffffD
On some Intel GPUs that will lead to a violation of hardware restrictions:
When multiplying a DW and any lower precision integer, the DW operand must on src0.
On other Intel GPUs a correct result is produced, but an inefficient instruction sequence (i.e., the exact sequence the multiply32x16
function is trying to avoid) is used.