From: Eric Anholt Date: Mon, 30 Mar 2015 05:59:39 +0000 (-0700) Subject: nir: Recognize a pattern for doing b2f without the opcode. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6e8d4a2f8043a3a7a28175326e63770aa9511ee7;p=mesa.git nir: Recognize a pattern for doing b2f without the opcode. Since we have patterns based on b2f, generate them if we see the b2f equivalent using an iand. This is common when generating NIR from TGSI. Reviewed-by: Connor Abbott --- diff --git a/src/glsl/nir/nir_opt_algebraic.py b/src/glsl/nir/nir_opt_algebraic.py index 66b456d1164..301d7a8ebcf 100644 --- a/src/glsl/nir/nir_opt_algebraic.py +++ b/src/glsl/nir/nir_opt_algebraic.py @@ -99,6 +99,7 @@ optimizations = [ # Emulating booleans (('fmul', ('b2f', a), ('b2f', b)), ('b2f', ('iand', a, b))), (('fsat', ('fadd', ('b2f', a), ('b2f', b))), ('b2f', ('ior', a, b))), + (('iand', 'a@bool', 1.0), ('b2f', a)), # Comparison with the same args. Note that these are not done for # the float versions because NaN always returns false on float # inequalities.