Mesa (master): pan/mdg: Reassociate adds for multiply-by-two

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jun 17 13:12:06 UTC 2020


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

Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Fri Jun 12 17:56:32 2020 -0400

pan/mdg: Reassociate adds for multiply-by-two

Only a single shader-db change it looks like, and not even from
scheduling, no fun.

instructions helped:   shader31 MESA_SHADER_FRAGMENT:                    64 -> 63 (-1.56%)
quadwords helped:   shader31 MESA_SHADER_FRAGMENT:                    66 -> 65 (-1.52%)
registers HURT:   shader31 MESA_SHADER_FRAGMENT:                    2 -> 3 (50.00%)

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5475>

---

 src/panfrost/midgard/midgard_nir_algebraic.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/panfrost/midgard/midgard_nir_algebraic.py b/src/panfrost/midgard/midgard_nir_algebraic.py
index 108ecf6ed95..ad54757eee7 100644
--- a/src/panfrost/midgard/midgard_nir_algebraic.py
+++ b/src/panfrost/midgard/midgard_nir_algebraic.py
@@ -31,7 +31,10 @@ b = 'b'
 c = 'c'
 
 algebraic = [
-   (('pack_unorm_4x8', a), ('pack_32_4x8', ('f2u8', ('fround_even', ('fmul', ('fsat', a), 255.0)))))
+   (('pack_unorm_4x8', a), ('pack_32_4x8', ('f2u8', ('fround_even', ('fmul', ('fsat', a), 255.0))))),
+
+   # Allows us to schedule as a multiply by 2
+   (('~fadd', ('fadd', a, b), a), ('fadd', ('fadd', a, a), b)),
 ]
 
 algebraic_late = [



More information about the mesa-commit mailing list