Mesa (master): freedreno/ir3: add rule to generate imad24

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Oct 18 22:35:03 UTC 2019


Module: Mesa
Branch: master
Commit: 666b6236f72932b2d6c8d816574357a113b3205c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=666b6236f72932b2d6c8d816574357a113b3205c

Author: Rob Clark <robdclark at chromium.org>
Date:   Fri Sep 27 11:36:43 2019 -0700

freedreno/ir3: add rule to generate imad24

Signed-off-by: Rob Clark <robdclark at chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg at google.com>
Reviewed-by: Eduardo Lima Mitev <elima at igalia.com>

---

 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 at 32', 'b at 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')),
 ]
 
 




More information about the mesa-commit mailing list