nir/opt_algebraic: Reduce int64

If we just want the bottom 32-bits we don't need a full 64-bit operation.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25625>
This commit is contained in:
Alyssa Rosenzweig
2023-10-01 09:50:41 -04:00
committed by Marge Bot
parent 8b5b362be6
commit 8df8d1e2f2

View File

@@ -1750,6 +1750,10 @@ optimizations.extend([
(('extract_u8', ('pack_32_4x8_split', a, b, c, d), 1), ('u2u', b)),
(('extract_u8', ('pack_32_4x8_split', a, b, c, d), 2), ('u2u', c)),
(('extract_u8', ('pack_32_4x8_split', a, b, c, d), 3), ('u2u', d)),
# Reduce intermediate precision with int64.
(('u2u32', ('iadd(is_used_once)', 'a@64', b)),
('iadd', ('u2u32', a), ('u2u32', b))),
])
# After the ('extract_u8', a, 0) pattern, above, triggers, there will be