nir/algebraic: refactor inexact opcode restrictions

Refactor the code to avoid calling a lot of time to auxiliary functions
when it is not really needed.

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
40 jobs for !2050 with issue-825 in 25 minutes and 28 seconds (queued for 4 seconds)
latest detached
Status Job ID Name Coverage
  Containers
passed #632652
debian-10

00:00:28

passed #632653
debian-9

00:00:29

passed #632654
aarch64
test-container:arm64

00:00:20

 
  Build
passed #632657
meson-arm64

00:05:24

passed #632656
meson-armhf

00:04:53

passed #632659
meson-clang

00:11:38

passed #632662
meson-clover

00:07:23

passed #632663
meson-clover-old-llvm

00:07:39

passed #632665
meson-i386

00:03:27

passed #632655
meson-main

00:09:53

passed #632658
meson-swr-glvnd

00:08:23

passed #632664
meson-vulkan

00:02:31

passed #632666
scons

00:08:44

passed #632667
scons-old-llvm

00:11:40

passed #632660
scons-swr

00:08:24

passed #632661
scons-win64

00:10:37

 
  Test
passed #632688
db410c
arm64_a306_gles2 1/4

00:04:13

passed #632689
db410c
arm64_a306_gles2 2/4

00:05:57

passed #632690
db410c
arm64_a306_gles2 3/4

00:04:07

passed #632691
db410c
arm64_a306_gles2 4/4

00:04:26

passed #632677
mesa-cheza
arm64_a630_gles2

00:05:01

passed #632678
mesa-cheza
arm64_a630_gles31 1/4

00:06:12

passed #632679
mesa-cheza
arm64_a630_gles31 2/4

00:07:38

passed #632680
mesa-cheza
arm64_a630_gles31 3/4

00:07:18

passed #632681
mesa-cheza
arm64_a630_gles31 4/4

00:07:05

passed #632682
mesa-cheza
arm64_a630_gles3 1/6

00:04:46

passed #632683
mesa-cheza
arm64_a630_gles3 2/6

00:04:22

passed #632684
mesa-cheza
arm64_a630_gles3 3/6

00:04:21

passed #632685
mesa-cheza
arm64_a630_gles3 4/6

00:04:07

passed #632686
mesa-cheza
arm64_a630_gles3 5/6

00:04:09

passed #632687
mesa-cheza
arm64_a630_gles3 6/6

00:03:59

passed #632668
test-llvmpipe-gles2 1/4

00:02:32

passed #632669
test-llvmpipe-gles2 2/4

00:06:23

passed #632670
test-llvmpipe-gles2 3/4

00:04:17

passed #632671
test-llvmpipe-gles2 4/4

00:04:13

passed #632672
test-softpipe-gles2 1/4

00:01:00

passed #632673
test-softpipe-gles2 2/4

00:01:05

passed #632674
test-softpipe-gles2 3/4

00:01:02

passed #632675
test-softpipe-gles2 4/4

00:01:02

passed #632676
test-softpipe-gles3-limited

00:02:33