nir/algebraic: optimize bcsel(a, 0, 1) to b2i
[mesa.git] / src / compiler / nir / nir_opt_algebraic.py
index 4b5fc5ecc9abd8c8668ed29e7f5c4e29e99ed0f3..507a4d397b7b8c89852aec2b3f93065bb05d2216 100644 (file)
@@ -859,6 +859,8 @@ optimizations.extend([
    # D3D Boolean emulation
    (('bcsel', a, -1, 0), ('ineg', ('b2i', 'a@1'))),
    (('bcsel', a, 0, -1), ('ineg', ('b2i', ('inot', a)))),
+   (('bcsel', a, 1, 0), ('b2i', 'a@1')),
+   (('bcsel', a, 0, 1), ('b2i', ('inot', a))),
    (('iand', ('ineg', ('b2i', 'a@1')), ('ineg', ('b2i', 'b@1'))),
     ('ineg', ('b2i', ('iand', a, b)))),
    (('ior', ('ineg', ('b2i','a@1')), ('ineg', ('b2i', 'b@1'))),