nir/opcodes: Add new 'umul_low' and 'imadsh_mix16' opcodes
authorEduardo Lima Mitev <elima@igalia.com>
Fri, 29 Mar 2019 09:49:12 +0000 (10:49 +0100)
committerEduardo Lima Mitev <elima@igalia.com>
Fri, 7 Jun 2019 06:45:05 +0000 (08:45 +0200)
commitc27b3758fa0dcd7fade9e85c5483b8310b8263d7
tree07bd83966bc8d034501114fec1d00e657ed3a6eb
parent9b96ae69bc7f07d267e880fe77a389c2b944f019
nir/opcodes: Add new 'umul_low' and 'imadsh_mix16' opcodes

'umul_low' is the low 32-bits of unsigned integer multiply. It maps
directly to ir3's MULL_U.

'imadsh_mix16' is multiply add with shift and mix, an ir3 specific
instruction that maps directly to ir3's IMADSH_M16.

Both are necessary for the lowering of integer multiplication on
Freedreno, which will be introduced later in this series.

Reviewed-by: Eric Anholt <eric@anholt.net>
src/compiler/nir/nir_opcodes.py