nir: Optimize (a*b)+(a*c) -> a*(b+c)
[mesa.git] / src / glsl / nir / nir_opt_algebraic.py
index 7bf6431345a46198784fa7bc5e814351ed07891b..688ceff8c92e0e0ee20a0e6441695115a56eec8e 100644 (file)
@@ -56,6 +56,8 @@ optimizations = [
    (('iabs', ('ineg', a)), ('iabs', a)),
    (('fadd', a, 0.0), a),
    (('iadd', a, 0), a),
+   (('fadd', ('fmul', a, b), ('fmul', a, c)), ('fmul', a, ('fadd', b, c))),
+   (('iadd', ('imul', a, b), ('imul', a, c)), ('imul', a, ('iadd', b, c))),
    (('fmul', a, 0.0), 0.0),
    (('imul', a, 0), 0),
    (('fmul', a, 1.0), a),