From 666b6236f72932b2d6c8d816574357a113b3205c Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Fri, 27 Sep 2019 11:36:43 -0700 Subject: [PATCH] freedreno/ir3: add rule to generate imad24 Signed-off-by: Rob Clark Reviewed-by: Kristian H. Kristensen Reviewed-by: Eduardo Lima Mitev --- src/freedreno/ir3/ir3_nir_imul.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/freedreno/ir3/ir3_nir_imul.py b/src/freedreno/ir3/ir3_nir_imul.py index f648cd11071..45dee61ca1d 100644 --- a/src/freedreno/ir3/ir3_nir_imul.py +++ b/src/freedreno/ir3/ir3_nir_imul.py @@ -27,6 +27,11 @@ import sys imul_lowering = [ (('imul', 'a@32', 'b@32'), ('imadsh_mix16', 'b', 'a', ('imadsh_mix16', 'a', 'b', ('umul_low', 'a', 'b')))), + # We want to run the imad24 rule late so that it doesn't fight + # with constant folding the (imul24, a, b). Since this pass is + # run late, and this is kinda imul related, this seems like a + # good place for it: + (('iadd', ('imul24', 'a', 'b'), 'c'), ('imad24_ir3', 'a', 'b', 'c')), ] -- 2.30.2