From 1dcc1ee314a6907213e2abd5337ec0bbba3bd1bf Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 30 Mar 2015 10:44:28 -0700 Subject: [PATCH] vc4: Drop integer multiplies with 0 to moves of 0. This cleans up more instructions generated by uniform array indexing multiplies. total instructions in shared programs: 39989 -> 39961 (-0.07%) instructions in affected programs: 896 -> 868 (-3.12%) --- src/gallium/drivers/vc4/vc4_opt_algebraic.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/gallium/drivers/vc4/vc4_opt_algebraic.c b/src/gallium/drivers/vc4/vc4_opt_algebraic.c index d17669abaff..e40e0f3b71b 100644 --- a/src/gallium/drivers/vc4/vc4_opt_algebraic.c +++ b/src/gallium/drivers/vc4/vc4_opt_algebraic.c @@ -248,6 +248,14 @@ qir_opt_algebraic(struct vc4_compile *c) } break; + case QOP_MUL24: + if (replace_x_0_with_0(c, inst, 0) || + replace_x_0_with_0(c, inst, 1)) { + progress = true; + break; + } + break; + case QOP_AND: if (replace_x_0_with_0(c, inst, 0) || replace_x_0_with_0(c, inst, 1)) { -- 2.11.0