nir/algebraic: Optimize 64bit pack/unpack
This reduces the instruction count in some fp64 and int64 piglit tests Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
e10f522cd7
commit
70e86a3f2d
|
@ -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'),
|
||||
|
|
Loading…
Reference in New Issue