From 314a40c902c6e92b9d6ba0e9b43708d7e1fa9f00 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Thu, 11 Jun 2020 18:48:41 -0700 Subject: [PATCH] Revert "nir: Replace an odd comparison involving fmin of -b2f" I originally noticed that 3b308147916 ("nir/algebraic: Optimize 1-bit Booleans") caused this pattern no longer be matched by incorrectly replacing b@32 with b@1. Making that correct had no effect on shader-db. When this pattern originally was added, it only affected 4 shaders, so it's not worth the effort to debug further. This reverts commit f50400cc8040cf2d07de97e76d9b1ed144c5c8b4. Reviewed-by: Caio Marcelo de Oliveira Filho Part-of: --- src/compiler/nir/nir_opt_algebraic.py | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/compiler/nir/nir_opt_algebraic.py b/src/compiler/nir/nir_opt_algebraic.py index 7dd1820d584..5ff51f9746f 100644 --- a/src/compiler/nir/nir_opt_algebraic.py +++ b/src/compiler/nir/nir_opt_algebraic.py @@ -431,19 +431,6 @@ optimizations.extend([ (('ieq', ('iadd', a, b), a), ('ieq', b, 0)), (('ine', ('iadd', a, b), a), ('ine', b, 0)), - # fmin(-b2f(a), b) >= 0.0 - # -b2f(a) >= 0.0 && b >= 0.0 - # -b2f(a) == 0.0 && b >= 0.0 -b2f can only be 0 or -1, never >0 - # b2f(a) == 0.0 && b >= 0.0 - # a == False && b >= 0.0 - # !a && b >= 0.0 - # - # The fge in the second replacement is not a typo. I leave the proof that - # "fmin(-b2f(a), b) >= 0 <=> fmin(-b2f(a), b) == 0" as an exercise for the - # reader. - (('fge', ('fmin', ('fneg', ('b2f', 'a@1')), 'b@1'), 0.0), ('iand', ('inot', a), ('fge', b, 0.0))), - (('feq', ('fmin', ('fneg', ('b2f', 'a@1')), 'b@1'), 0.0), ('iand', ('inot', a), ('fge', b, 0.0))), - (('feq', ('b2f', 'a@1'), 0.0), ('inot', a)), (('~fneu', ('b2f', 'a@1'), 0.0), a), (('ieq', ('b2i', 'a@1'), 0), ('inot', a)),