intel/gen6/compiler: Emit better code for fcos, fsin, frcp, and fpow with source modifiers

Mathbox instructions cannot have source modifiers.  Moving the "resolve"
move to the result of the mathbox instruction can allow copy propagation
to eliminate it.  Just dropping the source modifiers for cosine is even
better!

Making a similar change on Gen4/5 doesn't help.  The mathbox on Gen4/5
uses messages, so the moves to load the message registers resolve the
source modifiers.  On Gen7+ the math instructions can have source
modifiers.

v2: Rebase on 7e21800b9e7 ("intel/compiler: Drop
nir_lower_to_source_mods() and related handling.").

Sandy Bridge
total instructions in shared programs: 11456191 -> 11454682 (-0.01%)
instructions in affected programs: 205674 -> 204165 (-0.73%)
helped: 883
HURT: 0
helped stats (abs) min: 1 max: 11 x̄: 1.71 x̃: 1
helped stats (rel) min: 0.07% max: 15.79% x̄: 1.59% x̃: 0.76%
95% mean confidence interval for instructions value: -1.81 -1.60
95% mean confidence interval for instructions %-change: -1.72% -1.45%
Instructions are helped.

total cycles in shared programs: 186453482 -> 186448080 (<.01%)
cycles in affected programs: 2330606 -> 2325204 (-0.23%)
helped: 472
HURT: 174
helped stats (abs) min: 1 max: 183 x̄: 15.77 x̃: 16
helped stats (rel) min: 0.02% max: 12.27% x̄: 1.34% x̃: 0.50%
HURT stats (abs)   min: 1 max: 251 x̄: 11.72 x̃: 4
HURT stats (rel)   min: <.01% max: 8.29% x̄: 0.60% x̃: 0.18%
95% mean confidence interval for cycles value: -10.24 -6.49
95% mean confidence interval for cycles %-change: -0.96% -0.67%
Cycles are helped.
Status Job ID Name Coverage
  Container
manual #2431886
aarch64 manual
arm_build
manual #2431887
aarch64 manual
arm_test
manual #2431888
windows shell 1809 mesa manual
windows_build_vs2019
manual #2431882
manual
x86_build
manual #2431885
manual
x86_build_old
manual #2431883
manual
x86_test-gl
manual #2431884
manual
x86_test-vk
 
  Meson X86 64
created #2431892
meson-clang
created #2431891
meson-classic
created #2431893
meson-clover
created #2431894
meson-clover-old-llvm
created #2431890
meson-gallium
created #2431889
meson-testing
created #2431895
meson-vulkan
 
  Scons
created #2431896
allowed to fail
scons-win64
 
  Meson Misc
created #2431898
aarch64
meson-arm64
created #2431899
aarch64
meson-arm64-build-test
created #2431897
aarch64
meson-armhf
created #2431901
meson-i386
created #2431904
meson-mingw32-x86_64
created #2431903
kvm
meson-ppc64el
created #2431902
kvm
meson-s390x
created #2431900
windows docker 1809 mesa
meson-windows-vs2019
 
  Llvmpipe
created #2431908
llvmpipe-gles2
created #2431909
llvmpipe-traces
created #2431906
piglit-glslparser
created #2431905
piglit-quick_gl
created #2431907
piglit-quick_shader
 
  Softpipe
created #2431910
softpipe-gles2
created #2431913
softpipe-gles31 1/4
created #2431911
softpipe-gles3 1/2
created #2431914
softpipe-gles31 2/4
created #2431915
softpipe-gles31 3/4
created #2431916
softpipe-gles31 4/4
created #2431912
softpipe-gles3 2/2
 
  Freedreno
created #2431920
google-freedreno-db410c
arm64_a306_gles2
created #2431921
google-freedreno-db820c
arm64_a530_gles2
created #2431917
mesa-cheza
arm64_a630_gles2
created #2431919
mesa-cheza
arm64_a630_gles3
created #2431918
mesa-cheza
arm64_a630_gles31
 
  Panfrost
created #2431922
mesa-ci-aarch64-lava-collabora
panfrost-t720-gles2:arm64
created #2431923
mesa-ci-aarch64-lava-collabora
panfrost-t760-gles2:armhf
created #2431924
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles2:arm64
created #2431925
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles3:arm64
 
  Radv
created #2431926
radv-fossils
 
  Virgl
created #2431927
virgl-gles2
created #2431928
virgl-gles3
created #2431929
virgl-gles31
created #2431930
virgl-traces