nir/algebraic: Add downcast-of-pack opts
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4365>
This commit is contained in:
committed by
Marge Bot
parent
14a49f31d3
commit
84ab61160a
@@ -1400,6 +1400,15 @@ for N, M in itertools.product(type_sizes('uint'), type_sizes('uint')):
|
||||
# The N == M case is handled by other optimizations
|
||||
pass
|
||||
|
||||
# Downcast operations should be able to see through pack
|
||||
for t in ['i', 'u']:
|
||||
for N in [8, 16, 32]:
|
||||
x2xN = '{0}2{0}{1}'.format(t, N)
|
||||
optimizations += [
|
||||
((x2xN, ('pack_64_2x32_split', a, b)), (x2xN, a)),
|
||||
((x2xN, ('pack_64_2x32_split', a, b)), (x2xN, a)),
|
||||
]
|
||||
|
||||
# Optimize comparisons with up-casts
|
||||
for t in ['int', 'uint', 'float']:
|
||||
for N, M in itertools.product(type_sizes(t), repeat=2):
|
||||
|
||||
Reference in New Issue
Block a user