nir: mixed precision (16/32-bit) alu instructions

On etnaviv the hardware allows mixing half precision and full precision
without any limitations.

On freedreno dest can have a different precision but all sources must have
the same precision so it only needs some of this.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
38 jobs for !1984 with nir-alu-mixed in 35 minutes and 27 seconds (queued for 6 seconds)
latest detached
Status Job ID Name Coverage
  Containers
passed #609654
debian

00:00:24

passed #609655
aarch64
test-container:arm64

00:12:38

 
  Build
passed #609664
meson-arm64

00:04:38

passed #609663
meson-armhf

00:02:14

passed #609658
meson-clang

00:09:35

passed #609661
meson-clover

00:09:05

passed #609665
meson-i386

00:03:03

passed #609656
meson-main

00:10:39

passed #609657
meson-swr-glvnd

00:05:26

passed #609662
meson-vulkan

00:02:19

passed #609667
scons-llvm

00:02:34

passed #609666
scons-nollvm

00:05:01

passed #609659
scons-swr

00:05:19

passed #609660
scons-win64

00:06:35

 
  Test
passed #609677
db410c
arm64_a306_gles2 1/4

00:09:31

passed #609678
db410c
arm64_a306_gles2 2/4

00:11:14

passed #609679
db410c
arm64_a306_gles2 3/4

00:08:28

passed #609680
db410c
arm64_a306_gles2 4/4

00:10:34

passed #609681
mesa-cheza
arm64_a630_gles2

00:05:31

passed #609688
mesa-cheza
arm64_a630_gles31 1/4

00:06:37

passed #609689
mesa-cheza
arm64_a630_gles31 2/4

00:08:07

passed #609690
mesa-cheza
arm64_a630_gles31 3/4

00:07:47

passed #609691
mesa-cheza
arm64_a630_gles31 4/4

00:07:39

passed #609682
mesa-cheza
arm64_a630_gles3 1/6

00:04:53

passed #609683
mesa-cheza
arm64_a630_gles3 2/6

00:04:39

passed #609684
mesa-cheza
arm64_a630_gles3 3/6

00:04:28

passed #609685
mesa-cheza
arm64_a630_gles3 4/6

00:05:13

passed #609686
mesa-cheza
arm64_a630_gles3 5/6

00:04:41

passed #609687
mesa-cheza
arm64_a630_gles3 6/6

00:04:37

passed #609668
test-llvmpipe-gles2 1/4

00:03:59

passed #609669
test-llvmpipe-gles2 2/4

00:03:49

passed #609670
test-llvmpipe-gles2 3/4

00:03:37

passed #609671
test-llvmpipe-gles2 4/4

00:03:47

passed #609672
test-softpipe-gles2 1/4

00:01:38

passed #609673
test-softpipe-gles2 2/4

00:01:40

passed #609674
test-softpipe-gles2 3/4

00:01:36

passed #609675
test-softpipe-gles2 4/4

00:01:29

passed #609676
test-softpipe-gles3-limited

00:03:53