mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 02:38:04 +02:00
nir/opt_algebraic: extend some extract_u8 pattern to extract_i8
and remove some duplicate extract pattern.
This commit is contained in:
parent
22fd4cf885
commit
dace9adfe2
1 changed files with 5 additions and 13 deletions
|
|
@ -2128,13 +2128,6 @@ optimizations.extend([
|
|||
(('ior', ('bcsel', ('ine', ('iand', a, 0x00800000), 0), ~0xff, 0), ('extract_u8', a, 2)), ('extract_i8', a, 2)),
|
||||
(('ior', ('bcsel', ('ilt', 'a@32', 0), ~0xff, 0), ('extract_u8', a, 3)), ('extract_i8', a, 3)),
|
||||
|
||||
(('extract_i8', ('ushr', a, 8), 0), ('extract_i8', a, 1)),
|
||||
(('extract_i8', ('ushr', a, 8), 1), ('extract_i8', a, 2)),
|
||||
(('extract_i8', ('ushr', a, 8), 2), ('extract_i8', a, 3)),
|
||||
(('extract_u8', ('ushr', a, 8), 0), ('extract_u8', a, 1)),
|
||||
(('extract_u8', ('ushr', a, 8), 1), ('extract_u8', a, 2)),
|
||||
(('extract_u8', ('ushr', a, 8), 2), ('extract_u8', a, 3)),
|
||||
|
||||
(('extract_i8', ('extract_i16', a, 1), 0), ('extract_i8', a, 2)),
|
||||
(('extract_i8', ('extract_i16', a, 1), 1), ('extract_i8', a, 3)),
|
||||
(('extract_i8', ('extract_u16', a, 1), 0), ('extract_i8', a, 2)),
|
||||
|
|
@ -2304,12 +2297,11 @@ optimizations.extend([
|
|||
|
||||
# After the ('extract_u8', a, 0) pattern, above, triggers, there will be
|
||||
# patterns like those below.
|
||||
for op in ('ushr', 'ishr'):
|
||||
optimizations.extend([(('extract_u8', (op, 'a@16', 8), 0), ('extract_u8', a, 1))])
|
||||
optimizations.extend([(('extract_u8', (op, 'a@32', 8 * i), 0), ('extract_u8', a, i)) for i in range(1, 4)])
|
||||
optimizations.extend([(('extract_u8', (op, 'a@64', 8 * i), 0), ('extract_u8', a, i)) for i in range(1, 8)])
|
||||
|
||||
optimizations.extend([(('extract_u8', ('extract_u16', a, 1), 0), ('extract_u8', a, 2))])
|
||||
for extract_op in ('extract_u8', 'extract_i8'):
|
||||
for op in ('ushr', 'ishr'):
|
||||
optimizations.extend([((extract_op, (op, a, 8), i), (extract_op, a, i + 1)) for i in range (0, 3)])
|
||||
optimizations.extend([((extract_op, (op, 'a@32', 8 * i), 0), (extract_op, a, i)) for i in range(2, 4)])
|
||||
optimizations.extend([((extract_op, (op, 'a@64', 8 * i), 0), (extract_op, a, i)) for i in range(2, 8)])
|
||||
|
||||
# After the ('extract_[iu]8', a, 3) patterns, above, trigger, there will be
|
||||
# patterns like those below.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue