Module: Mesa Branch: main Commit: 4d7fe94f3a0d86c65f126da914883829b0707d5f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4d7fe94f3a0d86c65f126da914883829b0707d5f
Author: Georg Lehmann <[email protected]> Date: Tue Sep 6 14:47:19 2022 +0200 nir/opt_algebraic: Optimize unpacking of upcasts to 64bit integers. Foz-DB Navi21: Totals from 7 (0.01% of 134913) affected shaders: CodeSize: 213364 -> 213028 (-0.16%) Instrs: 38347 -> 38319 (-0.07%) Latency: 780148 -> 779776 (-0.05%) InvThroughput: 520098 -> 519851 (-0.05%) Signed-off-by: Georg Lehmann <[email protected]> Reviewed-by: Rhys Perry <[email protected]> Reviewed-by: Emma Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18435> --- src/compiler/nir/nir_opt_algebraic.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/compiler/nir/nir_opt_algebraic.py b/src/compiler/nir/nir_opt_algebraic.py index 1a782bc9d23..2930715e01d 100644 --- a/src/compiler/nir/nir_opt_algebraic.py +++ b/src/compiler/nir/nir_opt_algebraic.py @@ -1466,6 +1466,10 @@ optimizations.extend([ (('unpack_64_2x32_split_y', ('pack_64_2x32_split', a, b)), b), (('unpack_64_2x32_split_x', ('pack_64_2x32', a)), 'a.x'), (('unpack_64_2x32_split_y', ('pack_64_2x32', a)), 'a.y'), + (('unpack_64_2x32_split_x', ('u2u64', 'a@32')), a), + (('unpack_64_2x32_split_y', ('u2u64', a)), 0), + (('unpack_64_2x32_split_x', ('i2i64', 'a@32')), a), + (('unpack_64_2x32_split_y', ('i2i64(is_used_once)', 'a@32')), ('ishr', a, 31)), (('unpack_64_2x32', ('pack_64_2x32_split', a, b)), ('vec2', a, b)), (('unpack_64_2x32', ('pack_64_2x32', a)), a), (('unpack_double_2x32_dxil', ('pack_double_2x32_dxil', a)), a),
