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

Author: Jason Ekstrand <[email protected]>
Date:   Tue Feb 14 22:22:36 2017 -0800

nir/algebraic: Optimize 64bit pack/unpack

This reduces the instruction count in some fp64 and int64 piglit tests

Reviewed-by: Kenneth Graunke <[email protected]>

---

 src/compiler/nir/nir_opt_algebraic.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/compiler/nir/nir_opt_algebraic.py 
b/src/compiler/nir/nir_opt_algebraic.py
index 8a6dd07..d3eaa1f 100644
--- a/src/compiler/nir/nir_opt_algebraic.py
+++ b/src/compiler/nir/nir_opt_algebraic.py
@@ -306,6 +306,12 @@ optimizations = [
    (('fabs', ('b2f', a)), ('b2f', a)),
    (('iabs', ('b2i', a)), ('b2i', a)),
 
+   # Packing and then unpacking does nothing
+   (('unpack_64_2x32_split_x', ('pack_64_2x32_split', a, b)), a),
+   (('unpack_64_2x32_split_y', ('pack_64_2x32_split', a, b)), b),
+   (('pack_64_2x32_split', ('unpack_64_2x32_split_x', a),
+                           ('unpack_64_2x32_split_y', a)), a),
+
    # Byte extraction
    (('ushr', a, 24), ('extract_u8', a, 3), '!options->lower_extract_byte'),
    (('iand', 0xff, ('ushr', a, 16)), ('extract_u8', a, 2), 
'!options->lower_extract_byte'),

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to